ホームページ >バックエンド開発 >C++ >例外処理を使用せずにC#のファイルの可用性を確認するにはどうすればよいですか?

例外処理を使用せずにC#のファイルの可用性を確認するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-02-02 22:06:10294ブラウズ

How Can I Check File Availability in C# Without Using Exception Handling?

ファイルの可用性は、異常な処理なしで確認できます

プログラミングでは、現在使用されている別のプロセスへのアクセスがエラーを引き起こす可能性があります。これは、プログラムがファイルシステムに保存されていないファイルにアクセスしようとすると発生する可能性があります。このようなエラーを回避するには、ファイルが現在使用されているかどうかを判断するために信頼できる方法が必要です。

異常な治療は一般的な方法ですが、一部の開発者は、特定の好みやコーディングスタイルのためにそれを避ける傾向があります。幸いなことに、ファイルの可用性を確認する他の方法があります。

lock

ファイルのロック状態を検証する効果的な方法は、C#でFileStreamクラスを使用することです。次のコードは、fileshare.noneとfileaccess.readを使用してテクノロジーを示しています。

を使用することにより、ファイルは土地によって開かれて読み取ります。他のプロセスがファイルにアクセスされている場合、

がスローされ、ファイルが現在ロックされていることを示します。この方法により、異常な処理を使用せずにファイルの可用性を確実に確認できます。 ファイルが存在しない、またはアクセスできない場合、

のコンストラクターは異常を投げます。したがって、このコードは依然として異常な処理に依存しています。 異常な処理を完全に回避するために、底部層APIを使用する必要がありますが、これによりコードの複雑さが増加します。 したがって、この方法は、シンプルさを量り、異常な治療を完全に回避する折りたたみ解決策です。
<code class="language-csharp">protected virtual bool IsFileLocked(FileInfo file)
{
    // 尝试以独占读取访问方式打开文件。
    using (FileStream stream = new FileStream(file.FullName, FileMode.Open, FileAccess.Read, FileShare.None))
    {
        // 如果文件未锁定,此行将成功执行。
        stream.Close();
    }

    // 文件未锁定。
    return false;
}</code>

以上が例外処理を使用せずにC#のファイルの可用性を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。