|
|
|
|
|
|
今天一個C#項目要獲取指定文件夾里的文件和文件夾物理路徑,于是寫了這個案例。
案例主要使用了List<>方法,配合DirectoryInfo方法,對列表進行搜索和操作。

C#遍歷指定文件夾里的文件和文件夾
下面對案例代碼進行簡要解釋。
1、引用相關命名空間
using System.IO;
using System.Collections.Generic;
使用List<>方法需要引用System.Collections.Generic這個命名空間。
另外,由于案例用到目錄類DirectoryInfo,所以也需要引用System.IO這個命名空間。
2、創建文件查找方法FindFile()
public List<string> FindFile(string sSourcePath)
{
List<string> list = new List<string>();
DirectoryInfo theFolder = new DirectoryInfo(sSourcePath);
FileInfo[] thefileInfo = theFolder.GetFiles("*.*", SearchOption.TopDirectoryOnly);
foreach (FileInfo NextFile in thefileInfo)
{
list.Add(NextFile.FullName);
} //遍歷文件
//遍歷子文件夾(以及文件夾里的文件)
DirectoryInfo[] dirInfo = theFolder.GetDirectories();
foreach (DirectoryInfo NextFolder in dirInfo)
{
list.Add(NextFolder.FullName);
/* 遍歷子文件夾里的文件 */
/*
FileInfo[] fileInfo = NextFolder.GetFiles("*.*", SearchOption.AllDirectories);
foreach (FileInfo NextFile in fileInfo)
{
list.Add(NextFile.FullName);
}
* */
}
return list;
}
該FindFile()方法返回一個數組,數組元素是指定文件夾里的所有文件和文件夾物理路徑。
3、FindFile()方法的使用實例
下面代碼,是FindFile()方法的一個使用實例。
//遍歷指定文件夾里的文件和文件夾
string sPath = @"L:\Mycaicai\caicai"; //指定目標文件夾
List<string> listFiles = FindFile(sPath);
foreach (string sFile in listFiles)
{
Response.Write(sFile + "\r\n");
}
執行結果

執行結果看到,我們得到了指定目標文件夾(L:\Mycaicai\caicai)里的所有文件及文件夾。
