是否可以在Eclipse中跟踪资源只读属性?

时间:2011-03-03 16:45:13

标签: java eclipse resources eclipse-plugin eclipse-rcp

我正在使用eclipse资源,并且对是否可以处理文件只读属性更改感兴趣?例如,用户在应用程序外更改文件只读属性,然后我可以在我的应用程序中处理此属性更改事件。

2 个答案:

答案 0 :(得分:4)

我不认为,可以自动执行此操作,因为Eclipse资源不会始终与文件系统同步。更具体地说,文件更改不会直接触发Eclipse资源中的事件。只有在读取资源时才会刷新文件。

也许如果你不断刷新,那将是可能的,但这可能会产生相当大的开销。刷新之后,可以监听资源的变化 - 这就是构建器和资源监听器的用途。

答案 1 :(得分:2)

比Zoltan的回答更准确:

不,不可能直接这样做。但是,可以定期刷新工作区并查找您感兴趣的更改。

  1. 创建并安排每隔XXX秒运行一次的作业。此作业将运行IProject.refreshLocal(IResource.DEPTH_INFINITE,null)。运行此操作后,它将重新安排自己在另一个XXX秒内运行。
  2. 添加一个IResourceChangeListener,用于侦听您感兴趣的更改。
  3. 现在,如果从工作区内部发生只读更改,则不必执行#1,而#2(资源更改侦听器)将自动运行。