JAVA 刪除文件夾 和 文件

原文鏈接:https://www.cnblogs.com/zrui-xyu/p/4777656.html

廢話不多說,直接上代碼:

/** 
 * 根據路徑刪除指定的文件夾或文件,無論存在與否 
 * @param sPath  要刪除的文件夾或文件 
 * @param selfDeleted 是否文件夾目錄本身
 * @return 刪除成功返回 true,否則返回 false。               文件夾  或  單個文件 
 */  
public static boolean DeleteFolderOrFile(String sPath,boolean selfDeleted) {  
	boolean flag = false;  
    File file = new File(sPath);  
    // 判斷目錄或文件是否存在  
    if (!file.exists()) {  // 不存在返回 false  
	return flag;  
    } else {  
	// 判斷是否爲文件  
	if (file.isFile()) {  // 爲文件時調用刪除文件方法  
	    return deleteFile(sPath);  
	} else {  // 爲目錄時調用刪除目錄方法  
	    return deleteDirectory(sPath,selfDeleted);  
	}  
    }  
} 



/** 
 * 刪除目錄(文件夾)以及目錄下的文件 
 * @param   sPath 要刪除的文件夾路徑 
 * @param   selfDeleted 是否文件夾目錄本身
 * @return  目錄刪除成功返回true,否則返回false             文件夾
 */  
public static boolean deleteDirectory(String sPath,boolean selfDeleted) {  
	//如果sPath不以文件分隔符結尾,自動添加文件分隔符  
    if (!sPath.endsWith(File.separator)) {  
	sPath = sPath + File.separator;  
    }  
    File dirFile = new File(sPath);  
    //如果dir對應的文件不存在,或者不是一個目錄,則退出  
    if (!dirFile.exists() || !dirFile.isDirectory()) {  
	return false;  
    }  
    boolean flag = true;  
    
    //首先刪除子目錄 
    File[] files = dirFile.listFiles();  
    for (int i = 0; i < files.length; i++) {  
	//刪除子文件  
	if (files[i].isFile()) {  
	    flag = deleteFile(files[i].getAbsolutePath());  
	    if (!flag) break;  
	} //刪除子目錄  
	else {  
	    flag = deleteDirectory(files[i].getAbsolutePath(),true);  
	    if (!flag) break;  
	}  
    }  
    if (!flag) return false;  
    
    //然後刪除當前目錄  
    if(selfDeleted){
	if (dirFile.delete()) {  
		return true;  
	    } else {  
		return false;  
	    } 
    }
    else{
	return true;
    }
	    
    
}  


/** 
 * 刪除單個文件 
 * @param   sPath    被刪除文件的文件名 
 * @return 單個文件刪除成功返回true,否則返回false            單個文件
 */
//真正幹活的小工,上面兩個是包工頭
public static boolean deleteFile(String sPath) {  
	boolean flag = false;  
	File file = new File(sPath);  
    // 路徑爲文件且不爲空則進行刪除  
    if (file.isFile() && file.exists()) {  
	file.delete();  
	flag = true;  
    }  
    return flag;  
} 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章