AI智能
改变未来

C#读写文件时出现占用的解决办法


一、错误提示

当我们读取一个文件而该文件被占用时会报错如下信息:

二、解决办法

此问题发生一般是资源没被释放掉,但也存在如下可能性。我们对文件的操作非常频繁,所以写了特定的操作类/组件来维护文件之间的操作,知道特定的时刻才结束,常见的如日志,随着程序的启动便开始写日志,直到程序关闭。但其中也存在我们需要提供一个特殊的操作(读/写/删除)来操作文件,例如我们需要提供一个日志查看器来查看当前日志或所有日志,这时,便无可避免的发生了以上的问题。解决此问题,只需将文件读写锁改为

FileShare.ReadWrite

(FileShare就是控制文件流的“访问权限),具体代码如下:

using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)){byte[] bt = new byte[fs.Length];fs.Read(bt, 0, bt.Length);fs.Close();}
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » C#读写文件时出现占用的解决办法