首页 新闻 会员 周边 捐助

如何读取一个不断变化的文件的内容?

0
悬赏园豆:10 [待解决问题]

如题。例如,有个文本文件a.txt,有一个程序负责不断写数据。现需要将a.txt中新增的数据提取出来,存入某个文件或数据表中。请问如何实现?

问题补充:

需要两个记录值,上次读文件时文件的更新时间,上次读文件时文件的大小。 

程序启动后,轮询文件的更新时间是否已经被更改,如果是从上次文件的大小处读文件,然后修改上面的两个记录值,继续轮询 . 可行不?

bwin的主页 bwin | 初学一级 | 园豆:116
提问于:2015-09-08 20:19
< >
分享
所有回答(4)
0

先说你会哪些:1,会IO操作,读取txt文件么? 2,会处理格式化字符串么?3,会写数据库么?

arg | 园豆:1047 (小虾三级) | 2015-09-08 22:37

都会

支持(0) 反对(0) bwin | 园豆:116 (初学一级) | 2015-09-09 16:24
0

Mark 学习一下!

at小怪兽 | 园豆:760 (小虾三级) | 2015-09-09 08:40
1

一是轮询,你已经说了;二是使用 ReadDirectoryChanges 函数监控文件变更。

如果你的文件是顺序递增写入,你可以在每次读取时从指定位置开始。

Launcher | 园豆:45050 (高人七级) | 2015-09-09 09:30

文件每秒都在写,很频繁,所以文件肯定是实时变更的。我在读取文件的时候,会不会锁定这个文件,影响写入呢》

支持(0) 反对(0) bwin | 园豆:116 (初学一级) | 2015-09-09 16:30

@bwin: 文件的大小总是递增,这叫实时变更;文件一会儿变大,一会儿变小,这也叫实时变更。实时变更有个屁用,你得把文件变更的规律给讲清楚。

 

写文件设置共享读,读文件设置共享读写,就不会锁定文件,影响写入。

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2015-09-09 17:16

@Launcher: 文件总是增长,写满65M就会重新新建一个文件继续写,直到65M再写满,如此循环

支持(0) 反对(0) bwin | 园豆:116 (初学一级) | 2015-09-10 14:21

@bwin: 那你的方法可行

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2015-09-10 14:28
0

FileSystemWatcher做监控把。

http://www.cnblogs.com/zhaojingjing/archive/2011/01/21/1941586.html

不夜橙 | 园豆:253 (菜鸟二级) | 2015-09-09 10:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册