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

如何监听一个文件
如何实现监听一个文件,如果该文件被修改会自动发送一个事件给程序?

------解决方案--------------------
1.先检查文件的最后修改日期,
2.Hash文件内容,如果Hash结果与保留的结果不一致就发出事件通知。

以上功能用FileChannel读取文件,在一线程中运行,注意,在文件读取时加锁保护文件,因此,最好用NIO,因为文件属于操作系统的资源,应在操作系统级别上加锁处理。
------解决方案--------------------
我有一个建议 LZ试试行不行
通过获取文件大小来判断文件是否被改动
(但是这样也有一个问题,文件如果只是被同等长度字符串替换就无法判断了)
希望有高人来支招 帮你顶
------解决方案--------------------
1.先检查文件的最后修改日期,
2.Hash文件内容,如果Hash结果与保留的结果不一致就发出事件通知。

------解决方案--------------------
MessageDigest类实现Hash。
NIO:new IO ,偷懒的话看看commons-configuration的源码,但是它的源代码质量不高。