2

ディレクトリ内の最新のファイル数を取得するのに問題があります。ファイルはPDFCreatorから印刷され、そのフォルダーに送信されます。フォルダ内のファイルの数が印刷されているファイルの数と一致すると、それは壊れて私のコードを続行するはずです。問題は、カウントが最新に保たれておらず、更新する方法がわからないことです。これは私のコードです:

System.IO.DirectoryInfo pdf = new System.IO.DirectoryInfo(@"C:\0TeklaBatchProcess\pdf");
int count = pdf.GetFiles().Length;

while (count != DE.GetSize())
{
    if (count < DE.GetSize())
    {
        pdf.Refresh();
    }
    else
    {
        break;
    }
}

誰かがファイルの数を更新または更新する方法を教えてくれたら、私はそれを大いに感謝します。

4

1 に答える 1

5

countローカルですint-更新する唯一の方法は、再度クエリを実行することです。次のように置き換えpdf.Refresh()てみてください:

count = pdf.GetFiles().Length;

(実際にDirectory.GetFiles(di.FullName).Lengthは、おそらく安いです)

でも!タイトなループでこれを実行する必要はありません。多分、、Sleep(1000)または(より良い)使用を追加しますFileSystemWatcher。さらに良い; 攻撃的にヒットしないように、特定のファイルを確認してくださいGetFiles()

于 2010-12-09T12:45:44.500 に答える