私はプログラミングの初心者で、フォルダー内のファイル数をカウントするために C# で Windows アプリケーションを作成するのに助けが必要です。
カウントするにはどのような方法を使用しますか?
**2016 年 2 月 1 日更新
まさにその通り、フォルダー内に含まれるファイルの量です。
たとえば、フォルダに 3 つの画像ファイルと 3 つのテキスト ファイルが含まれている場合、アプリケーションは値 6 を返す必要があります。
私はプログラミングの初心者で、フォルダー内のファイル数をカウントするために C# で Windows アプリケーションを作成するのに助けが必要です。
カウントするにはどのような方法を使用しますか?
**2016 年 2 月 1 日更新
まさにその通り、フォルダー内に含まれるファイルの量です。
たとえば、フォルダに 3 つの画像ファイルと 3 つのテキスト ファイルが含まれている場合、アプリケーションは値 6 を返す必要があります。
Directory.GetFilesメソッドを使用する必要があります。
int fileCount = Directory.GetFiles(@"C:\MyFolder").Length;
サブディレクトリも検索したい場合は、次のコードを使用できます。
int fileCount = Directory.GetFiles(@"c:\MyDir\", "*.*", SearchOption.AllDirectories).Length;
ディレクトリが存在しない場合はDirectoryNotFoundExceptionがスローされることに注意してください。ディレクトリが存在するかどうかわからない場合は、try ... catch ブロックを使用するか、Directory.Exists メソッドを使用してディレクトリが存在するかどうかを確認します。
if (Directory.Exists(dirName))
{
// Your code here
}
// This searches in the current directory and also sub directories
int folderCount = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories).Length;
// This searches only in the current directory
int folderCount = Directory.GetFiles(path, "*.*", SearchOption.TopDirectory).Length;
幸運を!
を使用できますSystem.IO.DirectoryInfo
。
DirectoryInfo info = new DirectoryInfo(your folder path);
info.GetFiles().Count();
または提案されたように:
info.EnumerateFiles();
これを試して:
var files = Directory.GetFiles(@"C:\SomeFolder").Length;
ディレクトリが存在しない場合、例外がスローされることに注意してください。
DirectoryInfo
クラスがお手伝いします。
var info = new DirectoryInfo("D:\\");
var files = info.GetFiles();
var dirs = info.GetDirectories();
files.Length;
dirs.Length;