【发布时间】:2018-04-20 04:49:43
【问题描述】:
为什么这段代码不能正常工作?在硬盘上创建文件a.txt,然后将a.txt重命名为b.txt,但b.txt不会删除。
import java.io.File;
public class Main {
public static void main(String[] args) {
File f=new File("a.txt");
try {
f.createNewFile();
}
catch (Exception e){}
f.renameTo(new File("b.txt"));
f.delete();
}
}
如果行
f.renameTo(new File("b.txt"));
已删除,f.delete(); 工作正常,a.txt 已从硬盘中删除。
【问题讨论】:
-
您应该记录更多信息而不是隐藏异常。尝试关闭文件“b.txt”。外部化 b 文件 b=new File("b.txt")。您也可以在删除之前测试文件是否存在...
-
文件“b.txt”已关闭并存在于硬盘上但不删除..
-
就像哈米德说的那样,我会尝试看看另一个进程是否正在锁定文件。但提供更多信息。很难说没有任何错误。
标签: file rename delete-file