C#中遍历文件夹目录的问题
C#中遍历文件夹目录的问题
递归实现查找目录下的所有子目录和文件
public void FindFile(string dir) //参数为指定的目录
{
//在指定目录及子目录下查找文件,在listBox1中列出子目录及文件
DirectoryInfo Dir=new DirectoryInfo(dir);
try
{
foreach(DirectoryInfo d in Dir.GetDirectories()) //查找子目录
{
FindFile(Dir+d.ToString()+"\");
listBox1.Items.Add(Dir+d.ToString()+"\"); //listBox1中填加目录名
}
foreach(FileInfo f in Dir.GetFiles("*.*")) //查找文件
{
listBox1.Items.Add(Dir+f.ToString()); //listBox1中填加文件名
}
}
catch(Exception e)
{
MessageBox.Show(e.Message);
}
}
调用
private void button1_Click(object sender, System.EventArgs e)
{
string currentdir="F:\myprogram\C#\FileSearch"; //搜索的目录
if(currentdir[currentdir.Length-1]!='\') //非根目录
currentdir+="\";
FindFile(currentdir); //调用查找文件函数
}
加上 using System.IO;
//------------------------------------------------------------------------------------------------------
用asp.Net(c#)编写程序得到本机指定目录下的所有文件
首先添加引用:
using System.IO;
然后在Page_Load中编写代码:
string FilePath = "c:\test";
if(!Directory.Exists(FilePath))
{
Directory.CreateDirectory(FilePath);
}
if(!Directory.Exists(FilePath + "\Abnormal"))
{
Directory.CreateDirectory(FilePath + "\Abnormal");
}
DirectoryInfo UnPostil = new DirectoryInfo(FilePath + "\Abnormal");
FileInfo[] ArrUnPostil = UnPostil.GetFiles();
LB_Postil.Items.Clear();
foreach (FileInfo FileName in ArrUnPostil)
{
if(FileName.Length > 0)
{
LB_Postil.Items.Add(FileName.Name);
}
}
代码中的LB_Postil是一个LISTBOX服务器控件。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>