C#のファイルの一覧を取得するサンプルです。
目次
サンプル | GetFilesメソッドで取得する |
EnumerateFilesメソッドで取得する |
GetFilesメソッドで取得する
public static string[] GetFiles(string path, string searchPattern, SearchOption searchOption) |
- パスを含むファイル名を配列で取得します。
- 1つめの引数は、パスを指定します。
- 2つめの引数は、ファイル名の指定ができます。アスタリスク(*)とワイルドカード(?)に対応しています。アスタリスクを指定すると全ファイルになります。
- 3つめの引数は、サブディレクトリを含めるかを指定できます。
- 以下は、MicrosoftのDirectory.GetFilesメソッドのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.io.directory.getfiles?view=netcore-3.1
AllDirectories | 現在のフォルダとサブフォルダも含める |
TopDirectoryOnly | 現在のフォルダのみ |
GetFilesメソッドのサンプルです。
using System;
using System.IO;
class Test1
{
static void Main()
{
string path1 = @"d:\test1";
string[] filename;
try
{
filename = Directory.GetFiles
(path1, "*.csv", System.IO.SearchOption.AllDirectories);
foreach (string f in filename)
{
Console.WriteLine(f);//
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
12行目は、GetFilesメソッドです。
13行目の2つめの引数は*.csvで拡張子がcsvのファイルのみ取得します。
3つめの引数は、AllDirectoriesでサブフォルダまで検索します。
結果は、以下です。
D:\Test1\test1.csv
D:\Test1\test2.csv
D:\Test1\test2\test3.csv
EnumerateFilesメソッドで取得する
public static IEnumerable<string> EnumerateFiles(string path, string searchPattern, SearchOption searchOption) |
- パスを含むファイル名をIEnumerable<string>で取得します。
- 引数については、上記のGetFilesメソッドと同じです。
- Enumerateは、列挙するという意味です。
- 以下は、MicrosoftのDirectory.EnumerateFilesメソッドのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.io.directory.enumeratefiles?view=netcore-3.1
AllDirectories | 現在のフォルダとサブフォルダも含める |
TopDirectoryOnly | 現在のフォルダのみ |
EnumerateFilesメソッドのサンプルです。
using System;
using System.IO;
class Test1
{
static void Main()
{
string path1 = @"d:\test1";
try
{
var filename = Directory.EnumerateFiles
(path1, "*.csv", System.IO.SearchOption.AllDirectories);
foreach (string f in filename)
{
Console.WriteLine(f); //
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
11行目は、EnumerateFilesメソッドです。
12行目の2つめの引数は*.csvで拡張子がcsvのファイルのみ取得します。
3つめの引数は、AllDirectoriesでサブフォルダまで検索します。
結果は、以下の文字列です。3つめは、サブフォルダにあるファイルを表示しています。
D:\Test1\test1.csv
D:\Test1\test2.csv
D:\Test1\test2\test3.csv
関連の記事