C# StreamReader 打开文件导致 Notepad 无法保存的原因及解决方法
在 C# 中,使用 StreamReader sr = new StreamReader(new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete)) 打开文件时,由于使用了 FileShare.ReadWrite | FileShare.Delete 参数,这意味着其他进程可以读取和写入该文件,甚至可以删除该文件。由于 Notepad 无法处理这种共享模式,因此无法保存该文件。
您可以尝试使用 FileShare.Read 参数来解决此问题,这将仅允许其他进程读取该文件,而不是写入或删除。
例如,您可以将代码修改为:
StreamReader sr = new StreamReader(new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read));
这样,Notepad 就可以正常打开和保存文件了。
原文地址: http://www.cveoy.top/t/topic/oQiK 著作权归作者所有。请勿转载和采集!