专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > QT开发

关于QFile QTextStream进行文件读书,谢谢

发布时间:2010-05-30 21:32:14 文章来源:www.iduyao.cn 采编人员:星星草
关于QFile QTextStream进行文件读书,多谢!
大家好,我现在实现的功能是:在A软件输出一个.txt后,因为A生成的这个文件的内容是不正确的,我的程序对其进行修改(就是在使用A B两软件时,我的程序都在运行状态,在每次A软件输出该文本文件后,我的程序自动都修改再给B软件,这样对我而言就不需要每次手动去修改该文件了),再给B软件去用.我用的是FileSystemWatcher来监控该文件,当文件变化后,我就做出相应的修改,然后再使用B软件读该文件.
   
  A ---- > MyProgram -----> B (A B两软件都是第三方独立的软件)

现在我的问题是:

我的程序在使用A B两软件时都是运行的着的,但是A软件输出.txt文件时是需要一段时间的(也就是写入需要持续一段时间),这样的话,如果我的程序在这段时间内也去尝试修改它,就会出现Runtime error.我现在做法就是监控到文件更新时,就延时10s,等A软件输出完txt文件后再进行文件更改操作,但有些项目输出.txt可能需要时间很短,有些需要很长,我大可以设置为30s,但我觉得这样会很笨

不知道有没有这样一种事件xxx,判断一个文件在1s或某段时间内没有变化就触发的,这样我就可以用fileChanged开始表示A已经开始输出txt,再用这个xxx事情检测A软件已经输出文件成功?不知道大家是怎么做的,多谢了

------解决方案--------------------
可否通过判断文件是否被打开来判断,是否进行修改。。
------解决方案--------------------
呃 我突然想算文件的MD5呢,一秒计算一次,从fileChanged开始,每秒计算一次,将结果与前一秒相比看是否相同,相同则说明该文件已经修改完成了,没实践过,仅供参考……
------解决方案--------------------
是否可以使用信号来实现?当A软件操作完文件之后就发出一个信号,你的程序在收到信号之后做出处理,处理完再发出一个信号给B软件,B软件收到之后开始处理。希望能够帮到LZ!
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: