为什么我的程序会创建空的.lck文件?

Rom*_*man 9 java logging lockfile

我正在尝试使用Java Logger.我得到我的记录器文件(name.log)与内容,它工作,我也得到一个空name.log.lck文件.

为什么会显示此文件,正在创建它们的程序以及如何删除此行为?

小智 15

.lck处理程序(文件处理程序)使用它来锁定文件以删除此文件.在关闭程序之前,需要关闭与该记录器对象关联的Handler.

以下是如何关闭关联处理程序的示例行:

for(Handler h:log.getHandlers())
{
    h.close();   //must call h.close or a .LCK file will remain.
}
Run Code Online (Sandbox Code Playgroud)


DVK*_*DVK 1

“.lck”听起来很像一个锁定文件。您没有说您使用哪个记录器,但至少其中一个使用 .lck 文件进行锁定 - 请参阅此回复

创建日志文件时,还会创建一个名为(在您的情况下)“dbslogfile.txt.lck”的单独锁定文件。记录器使用此作为访问实际日志文件的互斥机制。它似乎无法创建它(当然,它必须在日志文件之前创建锁定文件)。