写一个类传入一个字符串如果是文件则删除如果是文件夹贼删除里面所有文件
为什么我把文件都删了可是里面的文件夹都留着啊????import java.io.File;public class IoRecurisve {  public static void main(String[] args) {
    String str = "d:\\1\\2\\3";
    IoRecurisve bcc = new IoRecurisve();
    bcc.del(str);
  }  public void del(String s) {
    File io = new File(s);
    if (io.isDirectory()) {
      System.out.println("是文件夹!");
      if (io.delete()) {
        System.out.println("文件夹为空删除成功!");
      }
      else {
        File[] file = io.listFiles();
        for (int i = 0; i < file.length; i++) {
          del(file[i].getPath());
        }
      }
    }
    else {
      io.delete();
      System.out.println("是文件!");
      System.out.println("删除成功!");
    }
    
  }
}

解决方案 »

  1.   

    文件夹清空后再删一次文件夹:
        public static void del(String s) {
            File io = new File(s);
            if (io.isDirectory()) {
              System.out.println("是文件夹!");
              if (io.delete()) {
                System.out.println("文件夹为空删除成功!");
              }
              else {
                File[] file = io.listFiles();
                for (int i = 0; i < file.length; i++) {
                  del(file[i].getPath());
                }
                io.delete();
              }
            }
            else {
              io.delete();
              System.out.println("是文件!");
              System.out.println("删除成功!");
            }
        }
      

  2.   

    File[] file = io.listFiles();
            for (int i = 0; i < file.length; i++) {
              del(file[i].getPath());
    这只del了文件夹内的内容,没有del文件夹