2016-12-13 19 views
-2
DirectoryInfo d = new DirectoryInfo(path); 

if() // there is a file in the directory do something. 

ファイルがあれば入手できますが、そのサブフォルダパス内にファイルがない可能性も考慮する必要があります。あなたが存在しているフォルダ内のどのファイルを持っていない場合は「、あなたをディレクトリにファイルが含まれているかどうかを確認してください。

var files = Directory.GetFiles(path, "*.*", SearchOption.TopDirectoryOnly); 
+3

その後、私は 'd.GetFiles(疑いファイルがない場合)'う空の結果を返します。 – David

+0

それはエラーを返します、なぜ私は分かりません。 –

+2

'if(d.EnumerateFiles.Any()){//ファイルがあります}を使用すると、すべてのファイルを取得する必要がなくなります。 – stuartd

答えて

3
string[] files = System.IO.Directory.GetFiles(path); 
if (files.Length == 0) 
    Console.WriteLine("Empty"); 
else 
    Console.WriteLine("Not Empty"); 

空のコレクションを取得します:

exists

あなたが存在しないために、あなたの代わりに、この例外を取得します探しているフォルダの場合:

doesnotexist

+1

代わりにEnumerateFilesを呼び出す方が効率的です – stuartd

+0

@stuartd – Sajeetharan

+0

が更新されました。フォルダにファイルがない場合、Directory.GetFiles(path)メソッドが正しくないという問題があります。 –

0

:ファイルがない場合は、以下が空の文字列の配列を返しますEnumerateFiles

var fileCount = Directory.EnumerateFiles(@"C:\").Count(); 
if (fileCount == 0) 
    Console.WriteLine("Empty"); 
else 
    Console.WriteLine("Not Empty"); 
関連する問題