`
yanqiang521
  • 浏览: 23808 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA怎样删除文件及子文件

阅读更多
删除文件夹包括以下几种情况:

文件夹里的文件,文件夹里面的子文件夹(有文件),文件夹里面的子文件夹(空文件夹)。所以程序要针对这三种情况写。

import java.io.File;

public class Test {
public static void main(String args[]) {
   Test t = new Test();
   delFolder("c:/bb");
   System.out.println("deleted");
}

// 删除文件夹
// 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();
   }
}

// 删除指定文件夹下所有文件
// param path 文件夹完整绝对路径
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;
}
}

这应该全了,有清楚的可以继续提问,呵呵。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics