我编写了一个监听给定文件夹的应用程序,然后记录事件并写入数据库(操作类型,文件名,内容,日期)。 我将应用程序基于Producer Consumer模式并使用了ArrayBlockingQueue。
我有这种类型的问题,当我在此文件夹中添加文件以后我想删除或修改它(这仅适用于在此文件夹中创建的第一个文件)时会弹出
这是一回事,我想在DbWriter中以某种方式跳过另一个,我不知道该怎么做。
感谢所有答案
答案 0 :(得分:0)
您无法删除该文件,因为在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;
}