ファイルの生成を待つ処理(C# WPF)

C#

While(!File.Exists())でファイルが生成されるまでループ処理を行います。

try
{
    using (var tokenSource = new CancellationTokenSource())
    {
        tokenSource.CancelAfter(this.timeoutMilliseconds);

        while (!File.Exists(this.filePath))
        {
            tokenSource.Token.ThrowIfCancellationRequested();

            Thread.Sleep(this.intervalMilliseconds);
        }
    }
}
catch (OperationCanceledException ex)
{
    //Do Something
}

ファイルが生成されなかった場合に備えてタイムアウトさせる必要があるため、CancelationTokenSourceを使って一定時間後にThrowさせます。
またFile.Existsを実行するインターバルを調整するためにThread.Sleepを設けます。

C#
スポンサーリンク
Once and Only

コメント