需要对文件夹下的文件重命名,发现返回false了,先用main方法测试,发现没问题,如下
public static void main(String[] args) throws IOException {
File file1 = new File("D:\\aabb.xml");
File file2 = new File("D:\\ccdd.xml");
boolean b = file1.renameTo(file2);
System.out.println(b); // true
}
最后发现,是一个文件是用文件流写的,流没用close,导致文件重命名失败了,模拟如下
public static void main(String[] args) throws IOException {
File file1 = new File("D:\\aabb.xml");
FileWriter out = new FileWriter(file1);
File file2 = new File("D:\\ccdd.xml");
boolean b = file1.renameTo(file2);
System.out.println(b);// false
}
最终也是很好解决,找个合适的地方close就好了
public static void main(String[] args) throws IOException {
File file1 = new File("D:\\aabb.xml");
FileWriter out = new FileWriter(file1);
out.close();
File file2 = new File("D:\\ccdd.xml");
boolean b = file1.renameTo(file2);
System.out.println(b);//true
}