如题。例如,有个文本文件a.txt,有一个程序负责不断写数据。现需要将a.txt中新增的数据提取出来,存入某个文件或数据表中。请问如何实现?
需要两个记录值,上次读文件时文件的更新时间,上次读文件时文件的大小。
程序启动后,轮询文件的更新时间是否已经被更改,如果是从上次文件的大小处读文件,然后修改上面的两个记录值,继续轮询 . 可行不?
先说你会哪些:1,会IO操作,读取txt文件么? 2,会处理格式化字符串么?3,会写数据库么?
都会
Mark 学习一下!
一是轮询,你已经说了;二是使用 ReadDirectoryChanges 函数监控文件变更。
如果你的文件是顺序递增写入,你可以在每次读取时从指定位置开始。
文件每秒都在写,很频繁,所以文件肯定是实时变更的。我在读取文件的时候,会不会锁定这个文件,影响写入呢》
@bwin: 文件的大小总是递增,这叫实时变更;文件一会儿变大,一会儿变小,这也叫实时变更。实时变更有个屁用,你得把文件变更的规律给讲清楚。
写文件设置共享读,读文件设置共享读写,就不会锁定文件,影响写入。
@Launcher: 文件总是增长,写满65M就会重新新建一个文件继续写,直到65M再写满,如此循环
@bwin: 那你的方法可行
FileSystemWatcher做监控把。
http://www.cnblogs.com/zhaojingjing/archive/2011/01/21/1941586.html