问题
- 远程监控并读取某个系统的日志文件,判断文件是否已经写入完成,写入完成后读取到本地,并将远程文件删除。
- 远程系统的环境可能是linux也可能是windows
解决思路
- JAVA NIO 和 WATCHSERVICE
- JCIFS
实现过程
- 在Eclipse中运行Oracle NIO and NIO.2 Examples中给出的实例代码WatchDir.java,(实际是在JDK Example中,在JDK下载页面的“Demos and Samples”部分可以下载)
测试WatchDir对本地目录的支持
- 在WatchDir.java中选择“Debug As”–“Debug Configuration”,WatchDir类的用法是“java WatchDir [-r] dir”,-r的可选选项代表是否遍历子文件夹,dir代表待监控的文件夹。在Debug Configuration的Arguments中添加本地目录“D:\tmp”,点击Debug
- 在WatchDir.java中选择“Debug As”–“Debug Configuration”,WatchDir类的用法是“java WatchDir [-r] dir”,-r的可选选项代表是否遍历子文件夹,dir代表待监控的文件夹。在Debug Configuration的Arguments中添加本地目录“D:\tmp”,点击Debug