已知:使用File类的renameTo方法时,源文件必须存在,而新文件不可以存在。
- 问题:之前重命名绝对路径文件f和目录ff一直成功true且能正常修改名字,相对路径的fs一直失败false。在fs重命名成功以后,目录ff一直无法重命名成功
//==================创建文件或目录对象==============================
File ff = new File("D:\\MyAll\\study\\WorkSpace\\test\\abc");//一个目录
System.out.println("重命名");
//把ff对应的abc路径重命名为abcabc
File newFile = new File("D:\\MyAll\\study\\WorkSpace\\test\\abcabc");//新名字abcabc
//打印
String[] strf = new File("D:\\MyAll\\study\\WorkSpace\\test").list();
for(String fff:strf){
System.out.println(fff);
}
System.out.println(ff.listFiles());
System.out.println(ff.exists());//true
System.out.println(newFile.exists());//false
System.out.println(ff.renameTo(newFile));//false
更改其他目录, 依旧可以修改成功。应该是目录abc有问题
File ff = new File("D:\\MyAll\\study\\WorkSpace\\test\\hh");//一个目录
//把ff对应的abc路径重命名为abcabc
System.out.println(ff.renameTo(new File("D:\\MyAll\\study\\WorkSpace\\test\\haha")));//true
abc目录刚才有进行IO操作,但有正常关闭流,且遵循先开的后关。手动右键重命名也不成功,显示里面的文件或文件夹打开,但是里面就一张图一个文档,打开后已经关掉了
找不到是哪个进程,重启一下就能改成功了,真的很弱智…我查IO原因搜索了两个多小时…