小编Mar*_*ano的帖子

Java nio FileSystem Watcher锁定目录.删除变得不可能

我正在使用Java7的新功能来查看目录以进行更改(如以下教程中所述:http://download.oracle.com/javase/tutorial/essential/io/notification.html)

观看本身(几乎)没有问题.

或多或少我有两个问题,我希望你们中的一些人知道如何处理它.

  1. 添加一个文件夹进行监视后,VM可以访问它并且不会释放它.这应该不是一个大问题.但是,如果您要在另一个目录中创建一个目录,那么还要创建一个目录.(例如,你在目录中创建c:\tmp\a的目录bb目录c(c:\tmp\a\b\c)),它是无法删除的目录a,因为虚拟机的访问,bc.如果要删除所有文件夹(例如,使用Windows资源管理器)c,则必须先删除,然后b再删除a.这很奇怪,但这种方式有效(虽然不方便)

  2. 这个问题似乎是第一个问题的结果.如果a有时会发生很多变化(或多或少)我得到一个异常,告诉我,新创建的文件夹被另一个进程使用,并且无法访问它.这很奇怪,因为我认为收到通知并不重要.并且因为在完全抛出此异常时并不完全清楚.

你有没有想法如何使没有锁或至少让用户能够以经典方便的方式删除这样的目录结构?

java nio filesystemwatcher java-7

8
推荐指数
1
解决办法
5299
查看次数

标签 统计

filesystemwatcher ×1

java ×1

java-7 ×1

nio ×1