java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台 (即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)) 的总称
这篇文章主要给大家介绍了关于利用 Java 删除文件目录及目录下所有文件的方法, 文中给出了详细的示例代码与注解, 有需要的朋友可以参考借鉴, 下面来一起看看吧
前言
本文主要实现的功能是删除某个目录及目录下的所有子目录和文件, 涉及到的知识点: File.delete()用于删除某个文件或者空目录! 所以要删除某个目录及其中的所有文件和子目录, 要进行递归删除
具体代码示例如下:
- import java.io.File;
- public class DeleteDirectory {
- /**
- * 删除空目录
- * @param dir 将要删除的目录路径
- */
- private static void doDeleteEmptyDir(String dir) {
- boolean success = (new File(dir)).delete();
- if (success) {
- System.out.println("Successfully deleted empty directory:" + dir);
- } else {
- System.out.println("Failed to delete empty directory:" + dir);
- }
- }
- /**
- * 递归删除目录下的所有文件及子目录下所有文件
- * @param dir 将要删除的文件目录
- * @return boolean Returns "true" if all deletions were successful.
- * If a deletion fails, the method stops attempting to
- * delete and returns "false".
- */
- private static boolean deleteDir(File dir) {
- if (dir.isDirectory()) {
- String[] children = dir.list(); // 递归删除目录中的子目录下
- for (int i = 0; i < children.length; i++) {
- boolean success = deleteDir(new File(dir, children[i]));
- if (!success) {
- return false;
- }
- }
- }
- // 目录此时为空, 可以删除
- return dir.delete();
- }
- /**
- * 测试
- */
- public static void main(String[] args) {
- doDeleteEmptyDir("new_dir1");
- String newDir2 = "new_dir2";
- boolean success = deleteDir(new File(newDir2));
- if (success) {
- System.out.println("Successfully deleted populated directory:" + newDir2);
- } else {
- System.out.println("Failed to delete populated directory:" + newDir2);
- }
- }
- }
来源: http://www.phperz.com/article/18/0215/359060.html