java deletes all contents of the folder without deleting an instance of the folder itself
- 2020-05-19 04:46:23
- OfStack
Examples are as follows:
package com.xx;
import java.io.File;
public class Test {
public static void main(String[] args) {
String fileRoot = "C:/Users/xx/Desktop/xx/xxx";
delFolder(fileRoot);
System.out.println("deleted");
}
// // Delete the folder after deleting the files
// // param folderPath Folder complete absolute path
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); // Delete everything inside
// Do not want to delete text folder hidden below
// String filePath = folderPath;
// filePath = filePath.toString();
// java.io.File myFilePath = new java.io.File(filePath);
// myFilePath.delete(); // Delete empty folder
} catch (Exception e) {
e.printStackTrace();
}
}
// Deletes all files in the specified folder
// param path Folder complete absolute path
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)) {
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]);// First, delete the files in the folder
// delFolder(path + "/" + tempList[i]);// Delete the empty folder
flag = true;
}
}
return flag;
}
}