java监听文件系统双击

时间:2014-04-22 19:11:38

标签: java events

我有这个例子来监听来自fileSystem(http://java.dzone.com/news/how-watch-file-system-changes)的事件,但事件只是创建,删除或修改。

我想从我的fileSystem中听一个简单的双击事件。

有谁知道怎么做?我不能通过摇摆来做。

谢谢!

2 个答案:

答案 0 :(得分:0)

Java,开箱即用,无法从我的文件系统"中观看简单的双击事件。 你提到的链接是关于可以监视其他类型事件的java代码,例如在文件系统中创建,删除和修改,但双击是"用户界面"事件,这些事件不属于java代码。

但是,你正确地提到了Swing。 如果编写了一个程序,使用Swing,专门用于对文件系统进行更改,那么是的,你的程序可以编写来监听swing布局上按钮的点击,以及你的然后代码可以决定如何处理该点击事件。

答案 1 :(得分:0)

就你所谈论的主题而言,没有“双击事件”这样的事情。

Java中的WatchService是一个接口,其实现是特定于平台的(包括完全可选,具体取决于平台)。

默认实现在某些平台(特别是windows / * nix)上的工作方式是定期轮询指定目录的文件系统元数据。如果默认实现不是监视访问时间(atime)或者它在平台上不可用(或关闭),那么......不,您无法获取文件访问事件。

在OSX上测试它,它没有。我必须在Windows和* nix上测试它以查看结果。我不知道任何默认实现都是因为atime不太可靠,因为它可以在支持它的许多文件系统上关闭以提高性能。

如果您想使用WatchService接口以及您的代码运行支持它的平台,您可以实现自己的查看访问时间并触发事件。

This StackOverflow Question演示了如何检查文件上的atime,但再次记住它不是真的可靠(请阅读有关警告的评论)。