日期:2014-05-20  浏览次数:20836 次

java如何监视文件是否被修改呢?
现在要实现一个功能:用JAVA监视数据文件,如果数据文件被修改过的话,就读取其中的内容

这个文件可能在一秒钟之内被修改过很多次,有什么办法能实时的监控呢?

最好不使用1秒钟查看之类的方法。

------解决方案--------------------
貌似java7中有,
具体就不知道了
lz找找, 我也学习下
------解决方案--------------------
探讨
现在要实现一个功能:用JAVA监视数据文件,如果数据文件被修改过的话,就读取其中的内容
这个文件可能在一秒钟之内被修改过很多次,有什么办法能实时的监控呢?
最好不使用1秒钟查看之类的方法。

------解决方案--------------------
File类
public long lastModified()返回此抽象路径名表示的文件最后一次被修改的时间。 

返回:
表示文件最后一次被修改的时间的 long 值,用与时间点(1970 年 1 月 1 日,00:00:00 GMT)之间的毫秒数表示;如果该文件不存在,或者发生 I/O 错误,则返回 0L 

lz参考下。
------解决方案--------------------
要监视的话,用个timer来定时扫这个文件,lz可以试下。
------解决方案--------------------
文件时间属性,程序(C、C++、win32汇编等)都可以可以自由修改时间!
我记得好像有一种算法,对文件生成一串字符!
如果文件发生改变,相应生成字符串也发生改变!
操作系统提供一种叫作钩子东东(api函数),这家伙能对I/O操作进行拦截!
------解决方案--------------------
我的想法定时校对md5码,各位大神觉得可行不?