[英]How can I get the filename of each file in a certain folder?
我想列出存儲在此目錄中的所有文本文件名: "/Users/myname/TESTFOLDER"
但我只需要文件名,我不想在我的列表中添加文件的完整路徑Filenamelist
。
我的代碼總是將文件的完整路徑添加到列表中:
List<string> Filenamelist = new List<string>();
userDir = "/Users/myname/TESTFOLDER";
var txtFiles = Directory.EnumerateFiles(userDir, "*.txt");
foreach (string currentFile in txtFiles)
{
Filenamelist.Add(currentFile);
}
如何只將文件名添加到列表中?
您需要使用Path.GetFileName
選擇文件名,它返回指定路徑字符串的文件名和擴展名,並存在於命名空間System.IO
以獲取更多信息,您可以查看其文檔。使用EnumerateFiles
函數獲取文件后,該函數返回一個IEnumerable
可以懶惰地評估更多信息,你可以查看它的文檔。
如果要獲取子目錄文件,請將搜索選項設置為SearchOption.AllDirectories
因為默認值為SearchOption.TopDirectoryOnly
以獲取更多信息,請查看文檔。
using System.IO;
userDir = "/Users/myname/TESTFOLDER";
List<string> Filenamelist = Directory.EnumerateFiles(userDir,"*.txt").Select(file => Path.GetFileName(file)).ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.