如何检查可以删除Java中的文件?
例如,如果test.txt在另一个程序中打开了文件,则无法将其删除。而且我必须在实际删除之前知道它,所以我不能这样做:
if (!file.delete()) { ... }
Run Code Online (Sandbox Code Playgroud)
而且srcFile.canWrite()也不起作用。
在使用NTFS和Java 7的Windows 7 64位框中,唯一对我有效的方法是
boolean canDelete = file.renameTo(file)
Run Code Online (Sandbox Code Playgroud)
这出奇的简单,并且也适用于文件夹,该文件夹在“某处下方”有“打开”或“锁定”文件。
我尝试过并产生假阳性的其他事情:获取FileLock,File#canWrite,File#setLastModified(“触摸”)
| 归档时间: |
|
| 查看次数: |
6044 次 |
| 最近记录: |