删除带有子文件夹的文件夹

删除多层文件夹要先删除子文件夹,再删除父文件夹

代码如下:

/**
		  * 删除文件夹下所有文件
		  * @param path
		  * @return
		  */
		 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]);//先删除文件夹里面的文件
		             delFolder(path + "/" + tempList[i]);//再删除空文件夹
		             flag = true;
		          }
		       }
		       return flag;
		     }
		
		   /**
		    * 删除空文件夹
		    * @param folderPath
		    */
		   public static void delFolder(String folderPath) {
			     try {
			        delAllFile(folderPath); //删除完里面所有内容
			        String filePath = folderPath;
			        filePath = filePath.toString();
			        java.io.File myFilePath = new java.io.File(filePath);
			        myFilePath.delete(); //删除空文件夹
			     } catch (Exception e) {
			       e.printStackTrace(); 
			     }
		   }

 直接调用delFolder()方法即可

猜你喜欢

转载自bao1073740756-126-com.iteye.com/blog/2241682