您的位置:首页 > 编程语言 > C#

C#遍历文件夹, 获取文件/目录信息

2014-03-22 14:03 696 查看
string path = "D:\";

string[] allFiles;

ArrayList<string> targetFiles = new ArrayList<string>();

遍历path目录下的文件(不包括子目录中的)

allFiles = Directory.GetFiles(path);   

foreach(string strFile in allFiles)   

{   
targetFiles.Add(strFile);

  //或其他操作 



遍历path目录下的某种特定类型文件(不包括子目录中的)

allFiles = Directory.GetFiles(path, "*.exe");   

foreach(string strFile in allFiles)   

{   
targetFiles.Add(strFile);

  //或其他操作 



遍历path目录下的某些特定类型文件(不包括子目录中的),方法一

allFiles = Directory.GetFiles(path);   

foreach(string strFile in allFiles)   

{   
FileInfo fi=new FileInfo(strfile);   
if (fi.Extension==".jpg"||fi.Extension==".bmp")
targetFiles.Add(strFile);

  //或其他操作 

}

遍历path目录下的某些特定类型文件(不包括子目录中的),方法二(好像在VS2008以上版本才支持)

System.IO.Directory.GetFiles()获取多个类型格式的文件

System.IO.Directory.GetFiles("c:\","*.exe|*.txt");          //这样写,编译会报错。

allFiles = Directory.GetFiles("C:\\path", "*.*", SearchOption.AllDirectories).Where(s => s.EndsWith(".bmp") || s.EndsWith(".jpg"));

foreach(string strFile in allFiles)   

{   
targetFiles.Add(strFile);

  //或其他操作 

}

遍历path目录下的文件(包括子目录中的),方法一

DirectoryInfo dir = new DirectoryInfo(path);

public void FindFile(DirectoryInfo dir)   //参数为指定的目录  

{        
foreach(FileSystemInfo fsi in dir.GetFileSystemInfos())
{
if (fsi is FileInfo)
{
FileInfo fi = (FileInfo)fsi;

                targetFile.Add(fi.ToString());
}
else
{
DirectoryInfo di = (DirectoryInfo)fsi;

                FindFile(di);
}
}

}

遍历path目录下的文件(包括子目录中的),方法二

public void FindFile(string dir)   //参数为指定的目录  

{       
DirectoryInfo Dir=new DirectoryInfo(dir);  
try 
{  
foreach(DirectoryInfo d in Dir.GetDirectories())//查找子目录     
{
FindFile(dir+d.ToString()+"\\");  
targetFile.Add(dir+d.ToString()+"\\");
}  

      foreach(FileInfo f in Dir.GetFiles("*.*")) //查找文件  
{  
targetFile.Add(Dir+f.ToString());  
}  
}  
catch(Exception e)  
{  
MessageBox.Show(e.Message);  
}   

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# 遍历 文件 目录
相关文章推荐