目录侦听器 z Commons IO - 无法完成操作
Directory Listener z Commons IO - action can't be completed
我编写了一个应用程序来侦听给定的文件夹,然后记录事件并写入数据库(操作类型、文件名、内容、日期)。
我的应用程序基于生产者消费者模式并使用了 ArrayBlockingQueue。
我有这种类型的问题,当我在这个文件夹中添加一个文件,然后我想删除或修改它(这只适用于在这个文件夹中创建的第一个文件)它弹出
这是一回事,我想在 DbWriter 中(以某种方式)跳过另一件事,但我不知道该怎么做。
感谢大家的回答
你不能删除文件,因为在FileProcessor.getContent
中你创建了一个FileReader
并且没有关闭它,这会导致JVM锁定文件。要解决此问题,只需在使用后关闭FileReader
,如下所示:
public static String getContent (File file) throws IOException {
FileReader fileReader = new FileReader(file);
String content = IOUtils.toString(fileReader);
fileReader.close();
return content;
}
我编写了一个应用程序来侦听给定的文件夹,然后记录事件并写入数据库(操作类型、文件名、内容、日期)。 我的应用程序基于生产者消费者模式并使用了 ArrayBlockingQueue。
我有这种类型的问题,当我在这个文件夹中添加一个文件,然后我想删除或修改它(这只适用于在这个文件夹中创建的第一个文件)它弹出
这是一回事,我想在 DbWriter 中(以某种方式)跳过另一件事,但我不知道该怎么做。
感谢大家的回答
你不能删除文件,因为在FileProcessor.getContent
中你创建了一个FileReader
并且没有关闭它,这会导致JVM锁定文件。要解决此问题,只需在使用后关闭FileReader
,如下所示:
public static String getContent (File file) throws IOException {
FileReader fileReader = new FileReader(file);
String content = IOUtils.toString(fileReader);
fileReader.close();
return content;
}