我想使用Java创建和删除一个目录,但它不起作用。
File index = new File("/home/Work/Indexer1");
if (!index.exists()) {
index.mkdir();
} else {
index.delete();
if (!index.exists()) {
index.mkdir();
}
}
发布于 2013-11-29 17:11:18
Java不能删除包含数据的文件夹。在删除文件夹之前,您必须删除所有文件。
使用像这样的东西:
String[]entries = index.list();
for(String s: entries){
File currentFile = new File(index.getPath(),s);
currentFile.delete();
}
然后,您应该能够使用index.delete()
Untested删除该文件夹!
发布于 2014-05-15 20:39:24
这只是一个小插曲。
import org.apache.commons.io.FileUtils;
FileUtils.deleteDirectory(new File(destination));
文档here
发布于 2015-03-21 04:22:32
这是可行的,虽然跳过目录测试看起来效率很低,但事实并非如此:测试会立即在listFiles()
中进行。
void deleteDir(File file) {
File[] contents = file.listFiles();
if (contents != null) {
for (File f : contents) {
deleteDir(f);
}
}
file.delete();
}
更新,以避免以下符号链接:
void deleteDir(File file) {
File[] contents = file.listFiles();
if (contents != null) {
for (File f : contents) {
if (! Files.isSymbolicLink(f.toPath())) {
deleteDir(f);
}
}
}
file.delete();
}
https://stackoverflow.com/questions/20281835
复制相似问题