C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■83852 / )  Re[7]: フォルダー内のファイルリストを作成する方法
□投稿者/ わんちゃん (6回)-(2017/04/15(Sat) 11:04:08)
ありがとうございます。

前回、試したコードは以下の通りです



        Dim files As IEnumerable(Of String) = Directory.EnumerateFiles("xxx", "*", SearchOption.AllDirectories)


        For Each f As String In files

            cnt += 1
            filepath(cnt) = f

        Next f



>魔界の仮面弁士さん

正確に4MBのファイルが10万個、一つのフォルダー内に入っています。

デバッグ実行ではなく、
Release ビルドでの EXE 実行でも試しましたが実行されませんでした。

あと、D:\で試すとすぐに列挙が開始されました。

もしかするとこのフォルダーがおかしいのかも知れません。
アクセス権限を見ましたが、
フルコントロールと特殊なアクセス許可以外には全て許可にチェックが入っています。


あと、フォルダーが入っているのはUSB3.0に接続された外付けHDDです。
速度は十分にありますが、外付けというのがもしかして原因ということはないですか?


>shuさん


        Dim filepath As New List(Of String)
        Dim dirInfo As New DirectoryInfo("・・・")

        Dim flEnum1 = dirInfo.EnumerateFiles
        Dim flEnum2 = flEnum1.GetEnumerator

        Do While flEnum2.MoveNext
            Dim fi = flEnum2.Current
            filepath.Add(fi.FullName)
        Loop


で試してみましたが、
        Do While flEnum2.MoveNext

のところで固まってしまいます。

ちなみにフリーズというのは30〜60秒くらいです。
完全にフリーズというわけではありません。

よろしくお願いいたします。




返信 編集キー/


管理者用

- Child Tree -