2016-12-30 8 views
0

ディレクトリD内のファイルのリストを取得するときに、アクセスが拒否されました。 このソースコード:Cを使用してリストボックスのファイルとフォルダを一覧表示するアクセスが拒否されました

string[] fileArray = Directory.GetFiles(@"D:\", "*.bak", SearchOption.AllDirectories); 
for (i = 0; i < fileArray.Length; i++) 
{ 
    listBox1.Items.Add(fileArray[i]); 
} 
+0

できません。あなたは 'GetFiles'を実行するためにファイルシステムへのウィンドウレベルのアクセスを持っている必要があります – Prajwal

+1

[SearchOption.AllDirectoriesフィルタ]の可能な複製(http://stackoverflow.com/questions/19715101/searchoption-alldirectories-filter) –

+0

問題はあなたですドライブのルートから 'SearchOption.AllDirectories'を使用しています。これは、たぶん必然的に' \ $ RECYCLE.BIN'のようなシステムオンリーフォルダにアクセスすることになります。解決策については上記のDupeを参照してください。 –

答えて

0

最初のもの、あなたがIO操作は、アクセス許可の問題が原因の例外が発生しますので、例外を処理するための任意のIO関連の操作に使用try..catchを扱っています。 すべてのアクセス可能なディレクトリを取得するには、再帰的な検索を行う必要があります。 これを参照してくださいthread、これはより多くを助ける

関連する問題