|
|
|
|
|
今天一個(gè)C#項(xiàng)目要獲取指定文件夾里的文件和文件夾物理路徑,于是寫了這個(gè)案例。
案例主要使用了List<>
方法,配合DirectoryInfo
方法,對列表進(jìn)行搜索和操作。
C#遍歷指定文件夾里的文件和文件夾
下面對案例代碼進(jìn)行簡要解釋。
1、引用相關(guān)命名空間
using System.IO;
using System.Collections.Generic;
使用List<>
方法需要引用System.Collections.Generic
這個(gè)命名空間。
另外,由于案例用到目錄類DirectoryInfo
,所以也需要引用System.IO
這個(gè)命名空間。
2、創(chuàng)建文件查找方法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()
方法返回一個(gè)數(shù)組,數(shù)組元素是指定文件夾里的所有文件和文件夾物理路徑。
3、FindFile()方法的使用實(shí)例
下面代碼,是FindFile()
方法的一個(gè)使用實(shí)例。
//遍歷指定文件夾里的文件和文件夾
string sPath = @"L:\Mycaicai\caicai"; //指定目標(biāo)文件夾
List<string> listFiles = FindFile(sPath);
foreach (string sFile in listFiles)
{
Response.Write(sFile + "\r\n");
}
執(zhí)行結(jié)果
執(zhí)行結(jié)果看到,我們得到了指定目標(biāo)文件夾(L:\Mycaicai\caicai)里的所有文件及文件夾。