他のプロセスによってロックされたファイルにアクセスするための VB.NET および C# ソリューション
複数のプロセスで同時に使用されるファイルにアクセスすると、多くの場合、恐ろしい「使用中」例外が発生します。 このガイドでは、他のアプリケーションによってロックされている場合でも、VB.NET および C# でファイルを読み取り、変更するための信頼できる方法を提供します。
VB.NET および C# での FileShare
の使用
簡単な解決策には、ファイル ストリームを開くときに FileShare
パラメータが必要です。 FileShare.ReadWrite
を設定すると、アプリケーションがファイル アクセスを共有する意思があることを示します。
VB.NET の例:
<code class="language-vb.net">Dim strContents As String Dim objReader As StreamReader objReader = New StreamReader(FullPath, FileShare.ReadWrite) strContents = objReader.ReadToEnd() objReader.Close()</code>
C# の例:
<code class="language-csharp">using (var objReader = new StreamReader(FullPath, FileShare.ReadWrite)) { var strContents = objReader.ReadToEnd(); }</code>
代替アプローチ: FileStream
FileStream
クラスは、ファイル アクセスをより詳細に制御できます。 この例はその使用法を示しています:
<code class="language-csharp">using (var logFileStream = new FileStream("c:\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var logFileReader = new StreamReader(logFileStream)) { while (!logFileReader.EndOfStream) { string line = logFileReader.ReadLine(); // Process each line } }</code>
このコードは、FileStream
、FileMode.Open
、および FileAccess.Read
を指定して、FileShare.ReadWrite
を使用してファイルを開きます。 StreamReader
は、ファイルのコンテンツを効率的に読み取ります。
出典の帰属
FileStream
アプローチは次のものから適応されています: https://www.php.cn/link/c7876d6b0f9d5461fd3e87c0d1e51e12
以上がVB.NET および C# で他のプロセスによってロックされたファイルにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。