【问题标题】:Not able to move the file due to Jnotify watch由于 Jnotify 监视而无法移动文件
【发布时间】:2012-02-02 09:04:51
【问题描述】:

我正在使用 JNotify 来监视一个文件夹,当一个新文件进入该文件夹时,我需要解析该文件并将该文件移动到其他文件夹中,当它执行文件移动代码时“它说它被其他进程使用”。

因为这个文件已经被 JNotify 监视过了,所以我不能移动它。

请帮我出出主意。

【问题讨论】:

    标签: java file-io filesystemwatcher jnotify


    【解决方案1】:

    从 Java 7 开始,您可以使用 WatchService 来跟踪文件系统中的更改。

    如果在您的情况下使用 Java 7 是一种选择 - 我肯定会选择它。

    tutorial 非常有用且一目了然。

    【讨论】:

    • 由于一些问题我只需要使用 Java 5
    【解决方案2】:

    您的 Java 代码必须有一个打开的文件句柄。确保关闭所有读取器或其他 File 对象并进行垃圾收集。我遇到了同样的问题,在分析代码后,我发现InputStreamReader 在捕获异常时没有关闭。我用reader.close()try catch 块中添加了finally{} 块,问题就解决了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 2022-10-04
      • 1970-01-01
      相关资源
      最近更新 更多