环境:
当前代码:
String fileName = ".fileName";
try {
java.io.File F = new java.io.File(fileName);
java.io.RandomAccessFile RF = new java.io.RandomAccessFile(F,"rwd");
RF.close();
boolean deleted = F.delete();
System.out.println("File was deleted: " + deleted);
} catch (FileNotFoundException e1) {
System.out.println("Unable to access file: " + e1.getMessage());
}
文件仍然存在,但已删除,且未捕获FileNotFoundException
。
答案 0 :(得分:2)
以下其中一项可能是您的问题:
F
,您将手柄处于打开状态,我不确定后果。ls
而不是cat
或nano
或其他什么?等调试:
chmod
锁定对相关文件的读/写访问权限,是否会发生这种情况?如果阻止读取失败的内容,如果阻止写入失败的内容?我强烈怀疑这会澄清你的问题。答案 1 :(得分:1)
我知道这是一个旧线程,但这可能对其他人有用,因为没有人指出这一点。 catch块正在捕获永远不会抛出的异常。如果您想知道文件是否存在然后删除,请使用java.nio.Files.delete(Path)。如果文件不存在,则会抛出FileNotFoundException。检查javadocs,这都是详细说明。