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