import java.io.File;   public class FileDemo {   /**   * 通过调用系统命令删除一个文件夹及下面的所有文件   * @param file   */   public static void deleteFileByWinCom(File file){   Runtime rt = Runtime.getRuntime();   String cmd = null;   try{   if(file.isFile...    
如何用JAVA删除一个非空的目录
    public static void main(String[] args) {
File file = new File("写要删除文件夹的绝对路径");
listFile(file);
}
private static void listFile(File file) {
if (file.isDirectory()) {        //如果是文件夹
File[] files = file.listFiles();
for (File file2 : files) {
listFile(file2);
}
}
file.delete();    //不管是不是文件夹都删除,当递归完,文件夹都会为空,都会被删除
}2017-07-30
有两种方式,一种使用递归算法,另外一种直接调用windows的命令:
import java.io.File;    public class FileDemo {      /**      * 通过调用系统命令删除一个文件夹及下面的所有文件      * @param file      */      public static void deleteFileByWinCom(File file){          Runtime rt = Runtime.getRuntime();          String cmd = null;          try{              if(file.isFile()){                  cmd = "cmd.exe /c del /q/a/f/s "+file.getAbsolutePath();              }else{                  cmd = "cmd.exe /c rd /s/q "+file.getAbsolutePath();              }              rt.exec(cmd);              System.out.println("成功执行了命令...");          }catch(Exception e){              System.out.println("调用系统命令失败了...");          }      }            /**      * 通过递归调用删除一个文件夹及下面的所有文件      * @param file      */      public static void deleteFile(File file){          if(file.isFile()){//表示该文件不是文件夹              file.delete();          }else{              //首先得到当前的路径              String[] childFilePaths = file.list();              for(String childFilePath : childFilePaths){                  File childFile=new File(file.getAbsolutePath()+"\\"+childFilePath);                  deleteFile(childFile);              }              file.delete();          }      }            public static void main(String[] args){          File file=new File("D:\\demo");          //deleteFileByWinCom(file);          deleteFile(file);      }  } 具体参考资料:
http://blog.csdn.net/smach1991710/article/details/91757572016-12-14
只能递归删除了。2016-12-14