苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3298|回复: 4

[其他] 如何关闭已经打开的txt文本文件

[复制链接]
发表于 2014-1-22 12:22:30 | 显示全部楼层 |阅读模式
前提:文件在程序运行前是打开的,程序启动后,运行中判断出文本被打开,此时如何关闭?
尝试了类似的操作
  FileStream fs2 = File.Create(@file);//类似的还有很多都不行,报错进程打开(因为文本打开状态)
  fs2.CLose();
file是string格式的路径信息,(文件是程序建立的,关闭程序后我先打开文本,然后我再运行程序)。执行读取等操作的时候会报错,提示进程已经打开。
create 只是这里的一个例子,其他的我也试验了 都会报错
我想加到catch中,通过关闭这个文件,对这个错误进行处理。


先行谢过!!


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-1-22 12:48:27 | 显示全部楼层
http://www.sufeinet.com/thread-5069-1-1.html

这个就比较麻烦了,要用到Api,建议你安上面的方法读取
 楼主| 发表于 2014-1-22 13:25:01 | 显示全部楼层
恩 很好的方法,非常感谢!!

Close(),不能关闭,
部分代码如下:
catch(Exception ex)
                {

                    FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                    StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);//
                    
                    sr.Close();//尝试关闭文件
                    fs.Close();
                    return "解读出错,可能文件打开状态";
                }
不再报错了,fs.Close() 没能把这个文件关闭,再次运行这个命令还会跳转到这里。
当然了,直接用上面的就可以读取操作了,只是不明白为什么关闭不了,是不是命令错了?还是遵循谁打开谁关闭的原则?
发表于 2014-1-22 13:30:27 | 显示全部楼层
已经打开的肯定不能关闭啊,要系统关闭,这是系统开打的,你不可能去干扰别人的操作。那不乱了套了。
就相当于我可以不去你家就操作你家的电脑一样,这是违法的,除非你给我操作权限,在程序里就是Api,或者是接口。
可以了解下系统Api,然后再慢慢尝试下
 楼主| 发表于 2014-1-22 13:45:20 | 显示全部楼层

很受教,谢谢你的耐心指导!!
API运用上还有点难度,先把当前的事情完成了。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2025-1-4 13:09

© 2014-2021

快速回复 返回顶部 返回列表