C#读写文件时出现占用的解决办法
2021-11-15 09:46
841 查看
一、错误提示
当我们读取一个文件而该文件被占用时会报错如下信息:
二、解决办法
此问题发生一般是资源没被释放掉,但也存在如下可能性。我们对文件的操作非常频繁,所以写了特定的操作类/组件来维护文件之间的操作,知道特定的时刻才结束,常见的如日志,随着程序的启动便开始写日志,直到程序关闭。但其中也存在我们需要提供一个特殊的操作(读/写/删除)来操作文件,例如我们需要提供一个日志查看器来查看当前日志或所有日志,这时,便无可避免的发生了以上的问题。解决此问题,只需将文件读写锁改为
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(); }
相关文章推荐
- C#删除文件出现文件被占用的解决办法
- C#解决文件被占用资源,无法删除或修改办法
- 使用C#操作OFFICE文件时出现异常的解决办法
- 关于C#上传文件出现UnauthorizedAccessException解决办法
- Html中载入含中文字符的js文件时出现中文乱码的解决办法
- 打开sln文件出现 “the selected file is not a valid visual studio solution file”错误提示解决办法
- myeclipse6以默认编辑器打开jsp文件出现错误的解决办法
- 初始化hibernate 时可能出现重复读取hibernate配置文件导致报错的解决办法
- 对VS升级SP2补丁,出现错误 1718。 文件被数字签名策略拒绝错误的解决办法
- 关于VS调试时出现的找不到可执行文件问题的可能的解决办法
- 用vi编辑文件断电后文件出现文件的解决办法
- 关于ASP程序运行出现ADODB.Stream 错误 800a0bbc 写入文件失败 的解决办法!
- Visual Studio 2008不能创建数据库连接出现:未能加载文件或程序集“Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral,PublicKeyToken=89845dcd8080cc91”或它的一个依赖项。系统找不到指定的文件的解决办法
- [转]C# post数据时 出现如下错误: System.Net.WebException: 远程服务器返回错误: (417) Expectation Failed 的解决办法
- [C#]连接带有密码的ACCESS数据库时出现“无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开”的解决方法
- jsp 引入文件(<jsp:include page)出现乱码的解决办法
- c#操作access,出现“内部错误: 无效的参数访问器: 2 BADBINDINFO”的解决办法
- 服务器出现无法删除文件和找不到指定文件的解决办法
- JavaMail、Commons Email发送邮件 出现结果后到的文件是Base64的问题的解决办法
- 关于ASP.NET,站点中有文件,却出现找不到文件、404错误的解决办法