web-dev-qa-db-ja.com

C#を使用してフォルダからすべてのファイル名を取得する

私はそれが特定のフォルダ内のテキストファイルのすべての名前を取得することが可能であるかどうか知りたかったです。

たとえば、Mapsという名前のフォルダがあり、そのフォルダ内のすべてのテキストファイルの名前を取得し、それを文字列のリストに追加するとします。

それは可能ですか、そしてもしそうなら、どうやってこれを達成することができますか?

163
user2061405
DirectoryInfo d = new DirectoryInfo(@"D:\Test");//Assuming Test is your Folder
FileInfo[] Files = d.GetFiles("*.txt"); //Getting Text files
string str = "";
foreach(FileInfo file in Files )
{
  str = str + ", " + file.Name;
}

これが役立つことを願っています...

276
Gopesh Sharma
using System.IO; //add this namespace also 

string[] filePaths = Directory.GetFiles(@"c:\Maps\", "*.txt",
                                         SearchOption.TopDirectoryOnly);
116
Avitus

それはあなたがやりたいことによります。

ref: http://www.csharp-examples.net/get-files-from-directory/

これは指定されたディレクトリ内の全てのファイルを元に戻します

string[] fileArray = Directory.GetFiles(@"c:\Dir\");

これにより、指定したディレクトリ内の特定の拡張子を持つすべてのファイルが返されます。

string[] fileArray = Directory.GetFiles(@"c:\Dir\", "*.jpg");

これにより、指定されたディレクトリ内のすべてのファイルが、特定の拡張子を持つすべてのサブディレクトリに戻されます。

string[] fileArray = Directory.GetFiles(@"c:\Dir\", "*.jpg", SearchOption.AllDirectories);

お役に立てれば

61
Gawie Greef

まさにあなたが望むものをします。

System.IO.Directory.GetFiles

10
rerun

Directory.GetFilesメソッド(文字列、文字列)(MSDN)をご覧ください。

このメソッドは、すべてのファイルをファイル名の配列として返します。

9
James Culshaw

http://msdn.Microsoft.com/ja-jp/library/system.io.directory.getfiles.aspx

System.IO名前空間には、ファイル操作を支援するための多数のメソッドがあります。の

Directory.GetFiles() 

methodは、ターゲットディレクトリ内のファイルを表す文字列の配列を返します。

7
RainbowFish