jon*_*ive 2 java file file-rename delete-file
今天我正在乱搞java.io.File方法,偶然发现了一些奇怪的东西.
当我重命名目录时,我似乎无法删除文件或新目录.
File dir = new File("dir");
dir.mkdir();
File file = new File(dir, "afile.txt");
file.createNewFile();
File newname = new File(dir, "newName.txt");
file.renameTo(newname);
File newdir = new File("newdir");
dir.renameTo(newdir);
System.out.println("file exists? " + file.exists());
System.out.println("file deleted? " + file.delete());
System.out.println("newname exists? " + newname.exists());
System.out.println("deleted newname? " + newname.delete());
System.out.println("dir exists? " + dir.exists());
System.out.println("dir deleted? " + dir.delete());
System.out.println("newdir exists? " + newdir.exists());
System.out.println("deleted newdir? " + newdir.delete());
Run Code Online (Sandbox Code Playgroud)
产量输出:
file exists? false
file deleted? false
newname exists? false
deleted newname? false
dir exists? false
dir deleted? false
newdir exists? true
deleted newdir? false
Run Code Online (Sandbox Code Playgroud)
但是在文件系统中,newdir和newname.txt都存在!
但是,如果我注释掉目录的重命名,则删除工作正常.
是否需要了解delete()和rename()之间的其他规则?javadoc并不多.
| 归档时间: |
|
| 查看次数: |
567 次 |
| 最近记录: |