文件,文件夹的创建和删除
生活随笔
收集整理的這篇文章主要介紹了
文件,文件夹的创建和删除
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QQ群中,有人問文件夾的刪除,就上網查了一下,整了個程序,要注意的地方就是,文件夾里面的內容要判斷是文件還是子文件夾
貼上源碼(有的內容來自網絡)
import java.io.File; import java.io.IOException;public class TestFolder {public static void main(String[] args) {String dir="E:/testfile/";createDir(dir);String filename="test1.txt";String subdir="subdir";createDir(dir+subdir);createFile(dir+filename);createFile(dir+subdir+filename);DeleteFolder(dir);}/*** 創建文件* @param destFileName* @return*/public static boolean createFile(String destFileName) {File file = new File(destFileName);if (file.exists()) {System.out.println("創建單個文件" + destFileName + "失敗,目標文件已存在!");return false;}if (destFileName.endsWith(File.separator)) {System.out.println("創建單個文件" + destFileName + "失敗,目標不能是目錄!");return false;}if (!file.getParentFile().exists()) {System.out.println("目標文件所在路徑不存在,準備創建。。。");if (!file.getParentFile().mkdirs()) {System.out.println("創建目錄文件所在的目錄失敗!");return false;}}// 創建目標文件try {if (file.createNewFile()) {System.out.println("創建單個文件" + destFileName + "成功!");return true;} else {System.out.println("創建單個文件" + destFileName + "失敗!");return false;}} catch (IOException e) {e.printStackTrace();System.out.println("創建單個文件" + destFileName + "失敗!");return false;}}/*** 創建目錄* @param destDirName* @return*/public static boolean createDir(String destDirName) {File dir = new File(destDirName);if (dir.exists()) {System.out.println("創建目錄" + destDirName + "失敗,目標目錄已存在!");return false;}if (!destDirName.endsWith(File.separator))destDirName = destDirName + File.separator;// 創建單個目錄if (dir.mkdirs()) {System.out.println("創建目錄" + destDirName + "成功!");return true;} else {System.out.println("創建目錄" + destDirName + "成功!");return false;}}/*** 根據路徑刪除指定的目錄或文件,無論存在與否*@param sPath 要刪除的目錄或文件*@return 刪除成功返回 true,否則返回 false。*/public static boolean DeleteFolder(String sPath) {boolean flag = false;File file = new File(sPath);// 判斷目錄或文件是否存在if (!file.exists()) { // 不存在返回 falsereturn flag;} else {// 判斷是否為文件if (file.isFile()) { // 為文件時調用刪除文件方法return deleteFile(sPath);} else { // 為目錄時調用刪除目錄方法return deleteDirectory(sPath);}}}/*** 刪除單個文件* @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;}/*** 刪除目錄(文件夾)以及目錄下的文件* @param sPath 被刪除目錄的文件路徑* @return 目錄刪除成功返回true,否則返回false*/public static boolean deleteDirectory(String sPath) {//如果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());if (!flag) break;}}if (!flag) return false;//刪除當前目錄if (dirFile.delete()) {return true;} else {return false;}}}轉載于:https://www.cnblogs.com/smileallen/p/3391482.html
總結
以上是生活随笔為你收集整理的文件,文件夹的创建和删除的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: socket编程 (PHP实现)
- 下一篇: public/private/prote