我正在尋找一種方法來讀取目錄路徑中的所有txt文件,而不需要將它們擴展到數組中。我查看了path.getFileNameWithoutExtension,但只返回一個文件。我想從一個路徑上的所有* .txt文件名我指定C#獲取所有沒有目錄擴展名的文件名
感謝
我正在尋找一種方法來讀取目錄路徑中的所有txt文件,而不需要將它們擴展到數組中。我查看了path.getFileNameWithoutExtension,但只返回一個文件。我想從一個路徑上的所有* .txt文件名我指定C#獲取所有沒有目錄擴展名的文件名
感謝
Directory.GetFiles(myPath, "*.txt")
.Select(Path.GetFileNameWithoutExtension)
.Select(p => p.Substring(1)) //per comment
喜歡的東西:
String[] fileNamesWithoutExtention =
Directory.GetFiles(@"C:\", "*.txt")
.Select(fileName => Path.GetFileNameWithoutExtension(fileName))
.ToArray();
應該做的伎倆。
var filenames = Directory.GetFiles(myPath, "*.txt")
.Select(filename => Path.GetFileNameWithoutExtension(filename).Substring(1));
(子串(1))加入用於解說的規範)
var files = from f in Directory.EnumerateFiles(myPath, "*.txt")
select Path.GetFileNameWithoutExtension(f).Substring(1);
只是需要將其轉換爲陣列[]
string targetDirectory = @"C:\...";
// Process the list of files found in the directory.
string[] fileEntries = Directory.GetFiles(targetDirectory, "*.csv").Select(Path.GetFileNameWithoutExtension).Select(p => p.Substring(0)).ToArray();
foreach (string fileName in fileEntries)
{
//Code
}
還有一個要求是我需要修剪所有文件名中的第一個字符。我該怎麼做呢? – hWorld 2011-06-13 20:48:02
單個選擇比兩個效率更高^^ – Falanwe 2011-06-13 20:54:58
您的問題有點不清楚。 'filename.Substring(0,1)'只會給你第一個字符。 'filename.Substring(1)'會給你一切,但第一個字符。 – David 2011-06-13 21:00:30