首先 根据文件路径构造一个File类 然后 根据类的属性判断是否为文件夹
假如是的话 得到子文件列表 然后 判断子文件是否为文件 假如是文件的话
直接执行删除file.delect()就可以;应该有一个嵌套

解决方案 »

  1.   

    给你个完整的删除方法
    public void deleteFolder(File dir) {
      File filelist[]=dir.listFiles();
      int listlen=filelist.length;
      for(int i=0;i<listlen;i++) {
        if(filelist[i].isDirectory()) {
          deleteFolder(filelist[i]);
        }
        else {
          filelist[i].delete();
        }
      }
      dir.delete();//删除当前目录
    }
      

  2.   

    btw:别告诉我你不知道如何定义一个File变量
       File path = new File("C:");
      //定义目录路径,路径可以这么写:"c:\\alpha\\test"
      

  3.   

    看看我的方法:
    /*
     * 删除一个目录下的所有文件
     */   
    public static void delAllFile(String path) {
    File file = new File(path);
    if(!file.exists()) return;
    if(!file.isDirectory()) return;
    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]);
    }
    }
      

  4.   

    用递归...
    public void deleteTree(File path){
      File[] files = path.listFiles();
      
      for(int i=0;i<files.length;i++){
        File child = files[i];
        if (child.isDirectory()){
          deleteTree(child);
        }
        child.deleteFile();
      }
    }
      

  5.   

    alphazhao 的方法示意正确,但不够健壮
    如果delteTree()传递进来的参数是文件而不是目录,那么 listFile()就会得到 NullPointerException错误。lazio_qiu 与alphazhao的方法一样,但是不够完善。
    除了listFile()可能会得到 NullPointerException错误,之外,应该加上 path.delete().否则没有删除这个目录本身。
    还有, File类没有deleteFile()方法,我想这是误写了。cxj_2000的方法考虑到容错,很好。但是为什么要使用String 作为delAllFile()的参数类型呢?这样在调用之前还要得到文件名字,挺麻烦的。使用 File作为参数类型,调用的时候简单的写 deleteAll(new File("c:\\abc"));  就行了。以下是我的方法,站在巨人的肩膀上写的public void deleteAll(File path){
    if(!path.exists()) return;
    if(path.isFile()){
    path.delete();
    return;
    }
    File[] files = path.listFiles();   
       for(int i=0;i<files.length;i++){
       deleteAll(files[i]);
       }
       path.delete();
    }