- 爱易网页
-
C#教程
- C#遍历文件夹, 获取文件/索引信息
日期:2014-05-16 浏览次数:21585 次
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()+"\\");