Java 删除文件夹
【摘要】
在Java中删除文件或文件夹的API是File.delete()
该API在删除文件夹时有个陷阱,就是只能删除空文件夹,不能删除那些内部包含文件的文件夹!!!
比如,现在有个需求要删除SVN目录下的编...
在Java中删除文件或文件夹的API是File.delete()
该API在删除文件夹时有个陷阱,就是只能删除空文件夹,不能删除那些内部包含文件的文件夹!!!
比如,现在有个需求要删除SVN目录下的编译文件夹,就可以使用如下方法删除
private static String[] DELETE_DIRS = {"bin", "gen", "target", "build"};
public static void main(String[] args) {
String path = "D:/SvnCheckout";
File file = new File(path);
deleteBuildFolder(file, DELETE_DIRS);
}
private static void deleteFolder(File folder, String[] deleteFolderNames) {
for(File f : folder.listFiles()) {
if(f.getName().contains(".")) continue;
if(f.isDirectory()) {
for(String deleteFolderName : deleteFolderNames) {
if(f.getName().equals(deleteFolderName)) {
System.out.println(f.getAbsolutePath());
deleteFolder(f);
break;
}
}
if(f.exists()) deleteFolder(f, deleteFolderNames);
}
}
}
public static void deleteFolder(File folder) {
try {
//先删除文件夹里的文件
for(File f : folder.listFiles()) {
if(f.isDirectory()) {
deleteFolder(f);
} else {
f.delete();
}
}
//再删除空文件夹(如果文件夹中含有文件,则删除无效)
folder.delete();
} catch (Exception e) {
e.printStackTrace();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
文章来源: blog.csdn.net,作者:福州-司马懿,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/chy555chy/article/details/88827393
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)