方法一:傳入字符串進行刪除
1 public static void delete(String path){
2 File file = new File(path);
3 //判斷文件是否存在
4 if(!file.exists()){
5 return;
6 }
7 //是文件,直接刪除
8 if(file.isFile()){
9 file.delete();
10 return;
11 }
12 //是目錄
13 if(file.isDirectory()){
14 String[] files = file.list();
15 //添加分割符
16 if (!path.endsWith(File.separator)) {
17 path = path + File.separator;
18 }
19
20 for(int i = 0; i < files.length; i++){
21 //遞歸調用,進行刪除
22 delete(path + files[i]);
23 }
24 }
25 file.delete();
26 }
方法二:傳入file進行刪除
1 public static void deleteAllFiles(File file){
2 //判斷文件是否存在
3 if(!file.exists()){
4 return;
5 }
6 //是文件,直接刪除
7 if(file.isFile()){
8 file.delete();
9 return;
10 }
11 //是目錄
12 if(file.isDirectory()){
13 //返回此目錄中的文件和目錄
14 File[] files = file.listFiles();
15 //遞歸調用,進行刪除
16 for(int i = 0; i < files.length; i++){
17 deleteAllFiles(files[i]);
18 }
19 }
20 file.delete();
21 }
二者的區別在於傳入字符串的時候,該字符串代表的是目錄的時候,要給此目錄下的文件和目錄添加分隔符。