-
Notifications
You must be signed in to change notification settings - Fork 0
/
DelAllFile.java
69 lines (61 loc) · 2.03 KB
/
DelAllFile.java
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import java.io.File;
/**
* DateTime: 2016/9/18 20:42
* 功能:删除所有文件及文件夹
* 思路:
*/
public class DelAllFile {
//测试
public static void main(String[] args) {
delFolder("G:/demo/dira"); //删除dira文件夹下的文件,dira也会删除
delAllFile("G:/demo/dira"); //只删除dira文件夹下的文件,dira不会删除
}
/**
* 删除指定文件夹下所有文件
* @param path 文件夹完整绝对路径
* @return
*/
public static boolean delAllFile(String path){
boolean flag=false;
File file=new File(path);
if(!file.exists()){ //如果不存在
return flag;
}
if(!file.isDirectory()){ //如果不是文件夹
return flag;
}
String[] tempList=file.list();
File temp=null;
for ( int i = 0; i <tempList.length ; i++ ) {
if(path.endsWith(File.separator)){ //File.separator文件分隔符
temp=new File(path+tempList[i]);
}else {
temp=new File(path+File.separator+tempList[i]);
}
if(temp.isFile()){
temp.delete();
}
if(temp.isDirectory()){
delAllFile(path+"/"+tempList[i]);//先删除文件夹里边的文件
delFolder(path+"/"+tempList[i]);//再删除空文件夹
flag=true;
}
}//end of for ( int i = 0; i <tempList.length ; i++ ) {
return flag;
}
/**
* 只删除此路径的最末路径下所有文件和文件夹
* @param folderPath 文件路径 (
*/
private static void delFolder(String folderPath) {
try {
delAllFile(folderPath); // 删除完里面所有内容
String filePath=folderPath;
filePath=filePath.toString();
File myFilePath=new File(filePath);
myFilePath.delete(); // 删除空文件夹
}catch ( Exception e ){
e.printStackTrace();
}
}
}