C#读取被进程占用的文件
来源:互联网 发布:网络诈骗套路 编辑:程序博客网 时间:2024/05/01 01:26
文件“D:\demo222\demo\chnlmangr\listener.tar”正由另一进程使用,因此该进程无法访问该文件。
在代码中对“listener.tar”文件做解压操作,在执行完后也做了关闭操作,但不关闭程序再次执行解压操作就提示
该文件已被其他程序占用问题。
开始使用代码:
FileStream fr = File.OpenRead(strFilePath);
//do something ……
fr.Close();
测试了多种情况:
1、 FileStream fr = File.OpenRead(strFilePath);
StreamReader sr = new StreamReader((System.IO.Stream)fr, System.Text.Encoding.Default);
错误提示:文件“D:\demo222\demo\chnlmangr\listener.tar”正由另一进程使用,因此该进程无法访问该文件。
2、StreamReader sr = File.OpenText(strFilePath);
错误提示:文件“D:\demo222\demo\chnlmangr\listener.tar”正由另一进程使用,因此该进程无法访问该文件。
3、 FileStream fr = new FileStream(strFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader sr = new StreamReader(fr, System.Text.Encoding.Default);
正确读取。
总结:
这样的情况,不单要用只读方式打开文件,而且需要共享锁。还必须选择flieShare方式为ReadWrite。使用完也必须关闭。
- C#读取被进程占用的文件
- C#读取被进程占用的文件
- C#读取被进程占用的文件
- C#读取被进程占用的文件
- C#读取被进程占用的文件
- C#读取被进程占用的文件
- C#读取被进程占用的文件(转)
- C# 如何读取被其他进程占用的文件
- 读取被其它进程占用的文本文件
- C#检测是否文件是否被其他进程占用
- 使用c#检测文件正在被那个进程占用
- C# 检测文件是否被其他进程占用的几种方法
- DiskRead 读取占用的文件。
- 读写文件时,文件被另外进程占用的问题
- 如何用StreamReader打开被其他进程占用的文件
- 利用lsof恢复进程占用的文件
- C# 子窗口文件操作失败,被另外一个进程占用
- 查看文件被哪个进程占用
- 堆栈问题的解析
- HDU 1573 X问题 同余方程 竟然wa在条件 答案是正整数上。。无语
- IOS正则表达式的实现
- How to Transfer Files Using PuTTY
- oracle11g升级PSU详细步骤
- C#读取被进程占用的文件
- jQuery validate 根据 asp.net MVC的验证提取简单快捷的验证方式(jquery.validate.unobtrusive.js)
- svchost.exe是什么进程
- VirtualBox安装增强功能的终极办法,安全,成功率目前100%
- 电信光猫
- GTK 信号的 创建 发射 链接
- ios中NSPredicate的用法
- bit 与byte(转)(
- CF——289D(推不出来就找规律吧)