他のアプリケーションによってアクセスされるファイルの操作
別のアプリケーションによって現在書き込まれているファイルにアクセスしようとすると、多くの場合、「アクセスが拒否されました」エラーが発生します。 このガイドでは、VB.NET と C# を使用してこの状況に対処するソリューションを示します。
VB.NET と C# は両方とも、共有アクセスでファイルを開く方法を提供します。 FileShare.ReadWrite
を使用すると、複数のプログラムが同じファイルに同時にアクセスできます。
これを実装する方法は次のとおりです:
VB.NET の例:
<code class="language-vb.net">Using logFileStream = New FileStream("c:\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite) Using logFileReader = New StreamReader(logFileStream) While Not logFileReader.EndOfStream Dim line As String = logFileReader.ReadLine() ' Process each line of the file here End While End Using End Using</code>
C# の例:
<code class="language-csharp">// Open the file with shared read/write access using (FileStream logFileStream = new FileStream("c:\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (StreamReader logFileReader = new StreamReader(logFileStream)) { // Read and process the file while (!logFileReader.EndOfStream) { string line = logFileReader.ReadLine(); // Process each line of the file here } }</code>
using
ステートメント (または try-finally
ブロック) は、適切なリソースのクリーンアップとファイル ハンドルの解放を確実に行うために重要です。 これにより、潜在的な競合が防止され、効率的なリソース管理が保証されます。
以上がVB.NET および C# で別のプロセスが使用しているファイルにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。