簡體   English   中英

如何獲取某個文件夾中每個文件的文件名?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM