访问 .NET 中其他应用程序当前正在使用的文件
.NET 开发人员在尝试访问已由其他进程打开的文件时经常遇到“访问被拒绝”错误。当文件对于数据传输或分析至关重要时,这尤其麻烦。
一个常见的解决方案涉及利用文件共享功能。 .NET
System.IO.FileShare
枚举提供了用于管理文件共享的各种选项。 使用 FileShare.ReadWrite
允许读取和写入访问,从而使多个进程能够同时与文件交互。
这是一个例子:
<code class="language-csharp">using System; using System.IO; class Program { static void Main() { try { // Utilize FileShare.ReadWrite for concurrent access FileStream logFileStream = new FileStream("c:\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); StreamReader logFileReader = new StreamReader(logFileStream); // Process file content line by line string line; while ((line = logFileReader.ReadLine()) != null) { // Your processing logic here } logFileReader.Close(); logFileStream.Close(); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } } }</code>
该方法创建一个非独占文件锁,允许多个程序同时访问该文件。 至关重要的是,请记住关闭 StreamReader
和 FileStream
对象,以确保文件处理完成后有效的资源管理。
以上是如何访问 .NET 中其他进程使用的文件?的详细内容。更多信息请关注PHP中文网其他相关文章!