Java FileHandler中的问题

Java FileHandler中的问题,java,Java,我正在尝试初始化一个FileHandler以写入给定的文件名,并使用foll语法使用可选的append: FileHandler fh = null; fh = new FileHandler("C:\\Users\\Desktop\\New_folder\\logs\\slate\\TodayLoad-2013-10-24.log",true); 但我得到的例外是: java.io.IOException: Couldn't get lock for C:\Users\Desktop\N

我正在尝试初始化一个FileHandler以写入给定的文件名,并使用foll语法使用可选的append:

FileHandler fh = null;
fh = new FileHandler("C:\\Users\\Desktop\\New_folder\\logs\\slate\\TodayLoad-2013-10-24.log",true); 
但我得到的例外是:

java.io.IOException: Couldn't get lock for  C:\Users\Desktop\New_folder\logs\slate\TodayLoad-2013-10-24.log
    at java.util.logging.FileHandler.openFiles(Unknown Source)
    at java.util.logging.FileHandler.<init>(Unknown Source)
    at TodayLoad.Load.<init>(SlateSheetLoad.java:173)
    at TodayLoad.Load.SlateSheetLoad.main(SlateSheetLoad.java:423)
java.io.IOException:无法获得C:\Users\Desktop\New\u folder\logs\slate\TodayLoad-2013-10-24.log的锁
位于java.util.logging.FileHandler.openFiles(未知源)
位于java.util.logging.FileHandler。(未知源)
在TodayLoad.Load.(SlateSheetLoad.java:173)
在TodayLoad.Load.SlateSheetLoad.main(SlateSheetLoad.java:423)中

如何解决此问题。

您的文件可能正在被其他进程访问。 看到这篇文章可以帮助你

写入100个日志文件后,您会发现出现错误。根本原因是Java中的一个bug。比如说,

这些参考还建议了一种解决方案:在执行日志记录的代码之前设置系统属性“jdk.internal.filehandlerloging.maxLocks”。例如,通过

 // Set maxLocks to 200. The default is 100.
 System.setProperty("jdk.internal.FileHandlerLogging.maxLocks", "200");

另一个进程是否打开了该文件?在该进程旁边使用的文件在哪里?请尝试使用记事本打开该文件,然后尝试修改它。如果失败,请检查原因。@all:另一个进程没有打开此文件,我尝试在记事本中打开此文件,并对其进行了修改,但没有出现任何问题。我检查了此帖子,给出了完整的限定类名,并检查了文件路径,但遇到了相同的问题。