//下面的三種文件刪除方式極爲常用所以積累下來!
//1. 刪除目錄下所有文件
//2. 刪除當前目錄中所有目錄文件
//3. 刪除所有空目錄
/**
* 刪除目錄下所有文件
*
* @param dir
* @return
*/
public static void deleteDir(File dir) {
if (dir.isDirectory()) {
File[] files = dir.listFiles();
for (File file : files) {
deleteFile(file);
}
} else {
dir.delete();
}
}
/**
* 刪除當前目錄中所有目錄文件
*
* @param dir
*/
public static void deleteAllDir(File dir) {
File[] files = dir.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
deleteFile(file);
}
}
}
}
/**
* @Title: delNullDir
* @Description: 刪除空目錄
* @param filePath 文件路徑(遞歸調用時發生改變)
* @param initFilePath 文件路徑(遞歸調用時路徑不發生改變,用於判斷傳入的根路徑)
* @return void 返回類型
* @throws
*/
public static void delNullDir(String filePath,String initFilePath) {
File file=new File(filePath);
logger.debug("文件目錄路徑:"+filePath);
if(file.isDirectory()){
logger.debug("文件:"+file.getPath());
File[] files=file.listFiles();
if(files.length==0){
try {
String initFileAbsolutePath=(new File(initFilePath)).getAbsolutePath();
if(initFileAbsolutePath.equals(file.getAbsolutePath())){
return;
}else{
org.apache.commons.io.FileUtils.deleteDirectory(file);
logger.debug("刪除文件目錄爲:"+file.getPath());
String parentPath= file.getParentFile().getAbsolutePath();
delNullDir(parentPath,initFilePath);
}
} catch (IOException e) {
logger.error(e);
}
}else{
for(int i=0;i<files.length;i++){
filePath=file.getAbsolutePath()+"/"+files[i].getName();
delNullDir(filePath,initFilePath);
}
}
}
}
JAVA文件工具類之——文件刪除(所有空目錄、當前目錄中所有目錄文件、目錄下所有文件)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.