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

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);  
}   
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值