我有一个多线程java应用程序,日志代码在1个线程中使用File.length但仅用于记录。
我希望能够从其他线程中删除,无论此日志记录如何。
java.io.File.length()调用可以锁定文件并阻止java.io.File.delete()调用工作吗?
我正在使用Windows Sun / Oracle JRE(目前为1.6.0_30)
答案 0 :(得分:1)
这将是文件系统的属性,而不是JVM的属性,所以用一个简单的" yes"来回答这个问题是不可能的。或"不"。在文件打开以进行读取或写入时delete()
无效的已知问题是Windows特定的问题,在类UNIX系统上不会发生。
但在您的具体情况下,它在Windows,Linux或Mac OS X上不会出现问题,也许答案已经足够了!