java – 如何强制mkdir覆盖现有目录?
发布时间:2020-12-15 04:23:02 所属栏目:Java 来源:网络整理
导读:我需要让我的程序创建一个具有特定名称的目录,并用该名称覆盖任何现有目录.目前,我的程序似乎无法覆盖目录.有没有办法强制覆盖? private boolean makeDirectory(){ File file = new File(TEMP_DIR_PATH + "/" + clipName); if (file.mkdir()) { return true
我需要让我的程序创建一个具有特定名称的目录,并用该名称覆盖任何现有目录.目前,我的程序似乎无法覆盖目录.有没有办法强制覆盖?
private boolean makeDirectory(){ File file = new File(TEMP_DIR_PATH + "/" + clipName); if (file.mkdir()) { return true; } else { System.err.println("Failed to create directory!"); return false; } } 编辑: private boolean makeDirectory(String path){ File file = new File(path); if (file.exists()) { System.out.println("exists"); if (file.delete()) { System.out.println("deleted"); } } if (file.mkdir()) { return true; } else { System.err.println("Failed to create directory!"); return false; } } 解决: private boolean makeDirectory(String path){ if (Files.exists(Paths.get(path))) { try { FileUtils.deleteDirectory(new File(path)); } catch (IOException ex) { System.err.println("Failed to create directory!"); return false; } } if (new File(path).mkdir()) { return true; } return false; } 解决方法
如果目录存在,您首先要删除该目录,然后重新创建它.
Using if (Files.exists(path)) { new File("/dir/path").delete(); } new File("/dir/path").mkdir(); 如果你有FileUtils,this可能更好,因为它避免实际删除你想要在那里的目录: import org.apache.commons.io.FileUtils if (Files.exists(path)) { FileUtils.cleanDirectory( new File("/dir/path")); } else { new File("/dir/path").mkdir(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |