jjzjj

WatchService

全部标签

java - Java 7 WatchService 对其他人来说很慢吗?

WatchService看起来是一项很棒的技术,但它太慢了,无法在我测试过的OSX和Linux系统上使用。雪上加霜的是,它似乎也没有收到所有事件的通知。我自己的代码和Oracle的规范示例都是这种情况。(http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/essential/io/examples/WatchDir.java)我知道OSXOpenJDK端口不确定此功能(请参阅https://wikis.oracle.com/display/

java - Java 7 WatchService 对其他人来说很慢吗?

WatchService看起来是一项很棒的技术,但它太慢了,无法在我测试过的OSX和Linux系统上使用。雪上加霜的是,它似乎也没有收到所有事件的通知。我自己的代码和Oracle的规范示例都是这种情况。(http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/essential/io/examples/WatchDir.java)我知道OSXOpenJDK端口不确定此功能(请参阅https://wikis.oracle.com/display/

Java:WatchService 在复制内容之前得到通知

我试图将一个非常小的文件复制并粘贴到监视服务观察到的文件夹中。第一次效果很好,但在接下来的所有复制和粘贴操作中,我得到一个异常,另一个进程已经处理了该文件。通过实验,我发现当Windows创建文件而不是复制其内容时,我的服务会收到通知。如果我锁定该文件,Windows将无法复制任何数据并且该文件为空。另一方面,如果我将文件移动到目录中,一切正常。这是Windows的错误吗?我无法在Mac或Linux工作站上对其进行测试。或者,也许只是我无能为力。感谢您的帮助。我的代码如下所示:try(WatchServicewatchService=importPath.getFileSystem()

Java7 WatchService - 尝试删除递归监视的嵌套目录时出现拒绝访问错误(仅限 Windows)

我关注了WatchingaDirectoryforChangesJava7nio2教程使用代码示例递归监视目录的全部内容WatchDir.java.虽然这在Linux和Mac上运行良好,但在Windows上(在Vista和7上测试过)尝试使用Windows资源管理器删除嵌套的、监视的文件夹会失败,并显示类似于“访问被拒绝:您需要执行此操作的权限”的消息当嵌套目录之一中存在文件时。例如,如果我在Windows中查看嵌套文件夹树:--FolderA--FolderA1--FileF并尝试删除文件夹A,我收到上述拒绝访问错误。但是,如果我:删除文件夹A1,然后删除文件夹A先删除文件F再删除文

java - 为什么 WatchService 会产生这么多操作?

importjava.io.*;importjava.nio.file.*;publicclassTmp{publicstaticvoidmain(String[]args)throwsIOException{intcount=0;Pathpath=Paths.get("C:\\tmp\\");WatchServicews=null;try{ws=FileSystems.getDefault().newWatchService();path.register(ws,StandardWatchEventKinds.ENTRY_CREATE,StandardWatchEventKinds.

Java 7 WatchService - 忽略同一事件的多次出现

StandardWatchEventKinds.ENTRY_MODIFY的javadoc说:Directoryentrymodified.WhenadirectoryisregisteredforthiseventthentheWatchKeyisqueuedwhenitisobservedthatanentryinthedirectoryhasbeenmodified.Theeventcountforthiseventis1orgreater.当您通过编辑器编辑文件的内容时,它会同时修改日期(或其他元数据)和内容。因此,您会得到两个ENTRY_MODIFY事件,但每个事件都有一个co

java - 我可以使用 WatchService(而不是整个目录)监视单个文件的更改吗?

当我尝试注册文件而不是目录时java.nio.file.NotDirectoryException被抛出。我可以监听单个文件的更改,而不是整个目录吗? 最佳答案 只需过滤目录中您想要的文件的事件:finalPathpath=FileSystems.getDefault().getPath(System.getProperty("user.home"),"Desktop");System.out.println(path);try(finalWatchServicewatchService=FileSystems.getDefault