这是一个在网页上用的下拉菜单,一个方法是找出这个文件夹下一种类型的文件通过下拉菜单显示出来,另一个方法是把文件的内容读出来。   好用不好用还没试呢。大家给个意见public class WebForm1 : System.Web.UI.Page
string a = server.mappath(".");怎么不行呢。public class ReadFolder
{
#region 读文件
private string ReadFile(string _FileName,out string _FileContent)
{
try
{
FileStream fso = new FileStream(_FileName,FileMode.Open,FileAccess.Read);
StreamReader  streamReader  =  new  StreamReader(fso,System.Text.UnicodeEncoding.GetEncoding("GB2312"));
streamReader.BaseStream.Seek(0,SeekOrigin.Begin);
_FileContent = streamReader.ReadToEnd();
streamReader.Close();
fso.Close();
}
catch{}
}
private string ReadFile(string _FolderName,string _FileName,out string _FileContent)
{
try
{
FileStream fso = new FileStream(_FolderName+_FileName,FileMode.Open,FileAccess.Read);
StreamReader  streamReader  =  new  StreamReader(fso,System.Text.UnicodeEncoding.GetEncoding("GB2312"));
streamReader.BaseStream.Seek(0,SeekOrigin.Begin);
_FileContent = streamReader.ReadToEnd();
streamReader.Close();
fso.Close();
}
catch{}
} #endregion
#region 遍历文件夹
public void FileList(ref DropDownList _List,string _FilePath,FileType _FileType)
{
try
{
DirectoryInfo dirinfo = new DirectoryInfo(_FilePath);
FileInfo[] myfolders = dirinfo.GetFiles(_FileType);
foreach (FileInfo myfolder in myfolders)
{
_List.Items.Add(myfolder.Name);
}

catch{}
}
#endregion
}
public enum FileType
{
htm = "*.htm",
txt = "*.txt"
}

解决方案 »

  1.   

    string a = server.mappath(".");怎么不行呢。改成
    string a=server.mappath("");
      

  2.   

    public enum FileType
    {
    htm,txt
    }ref DropDownList _List改为DropDownList _List
      

  3.   

    private string ReadFile(string _FileName,out string _FileContent)
    函数里面没有返回值,而且,与其用out string _FileContent获取文件内容,不如直接返回读取文件内容,这样函数的可用性就更好了。
    如果类ReadFolder是给其他类使用的,要把函数private属性改为public,不然别的类是不能调用它的.