在 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 就可以正常打开和保存文件了。

C# StreamReader 打开文件导致 Notepad 无法保存的原因及解决方法

原文地址: http://www.cveoy.top/t/topic/oQiK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录