我已经使用Java编程创建了一个文件,并使用Apache Commons Logging API,特别是Log4j实现记录了一些数据。
在完成日志记录后,我将Log类的引用设置为null。当我尝试删除我一直在记录日志的文件时,File.delete()返回false。
在调试期间从Windows资源管理器中删除该文件(即在调用File.delete()之前),我会收到“无法删除:正在被另一个程序使用”的通知。
我的代码中没有打开该文件的依赖项(所有流都已关闭)。唯一可能访问该文件的对象是Log对象,在调用File.delete()之前我已将其设置为null。
有没有办法查看哪个具体对象持有对文件资源的引用? 除了将其设置为null之外,是否有其他方法来强制释放Log对象的资源? 我能否强制删除该文件?
在完成日志记录后,我将Log类的引用设置为null。当我尝试删除我一直在记录日志的文件时,File.delete()返回false。
在调试期间从Windows资源管理器中删除该文件(即在调用File.delete()之前),我会收到“无法删除:正在被另一个程序使用”的通知。
我的代码中没有打开该文件的依赖项(所有流都已关闭)。唯一可能访问该文件的对象是Log对象,在调用File.delete()之前我已将其设置为null。
有没有办法查看哪个具体对象持有对文件资源的引用? 除了将其设置为null之外,是否有其他方法来强制释放Log对象的资源? 我能否强制删除该文件?