作者rudolf1238 (Yo)
看板java
标题Re: [问题] 如何查看目录内档案有改变?
时间Fri Aug 24 13:16:15 2012
※ 引述《yeld (yeld)》之铭言:
: 你需要的是能捕捉作业系统上的档案操作行为,可以参考 JNotify
: http://jnotify.sourceforge.net/
: 当监控的目录下有任何的档案操作行为发生时,JNotify 会产生对应的 event 给你,
: 共有 Created, Deleted, Modified, Renamed 四种 event。
: 而你的程式在收到这些 event 後再自行判断异动状况,例如计算 MD5 资讯,来决定
: 档案内容是否有变更。
: ※ 引述《rudolf1238 (Yo)》之铭言:
: : 大家好,小弟最近要实作类似Dropbox的系统,将档案备份到云端,
: : 所以要比较两资料夹内的档案是否有差异或经过变更??
: : 在JAVA中似乎没有API能做到诸如此类的功能?
: : 目前是比较熟知Win32 API有直接的函式(如:ReadDirectoryChanges API)
: : 请问大家有知道类似的API可套在JAVA上的吗? 感谢~~
感谢板友提供JNotify的讯息让小弟知道,
但下载下来後想要实作却遇到了问题,
在官方网站上的example code未import函式库,直接使用
int mask = JNotify.FILE_CREATED |
JNotify.FILE_DELETED |
JNotify.FILE_MODIFIED |
JNotify.FILE_RENAMED;
但在Eclipse上却出现错误: JNotify can't be resolved to a variable
依照google上一些网站的描述(如:
http://simonlei.iteye.com/blog/631092)
我把解压缩後的jnotify.dll与jnotify_64bit.dll都丢进
C:\Program Files\Java\jdk1.7.0_01\bin中了,但还是无法解决此问题,
请问各位我是否遗漏了甚麽步骤呢? 谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.120.54.165
1F:推 superlubu:人家没 import 是因为同一个 package. 罢(?) 08/24 15:22
2F:→ rudolf1238:顺利解决了,多加import net.contentobjects.jnotify.* 08/24 18:38
3F:→ rudolf1238:即可,谢谢大家。 08/24 18:39
4F:→ qrtt1:唔,eclipse 有自动 import,热键是ctrl shift o 08/25 00:35