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

java下删除一个非空目录的方法

    博客分类:
  • J2SE
阅读更多
题目是:
编写一个程序,要求删除一个非空目录,并列出删除目录的文件名。
import java.io.File;

public class myDeleteDirectory {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		deleteDirectory("D:/a");
	}

	public static void deleteDirectory(String path) {
		File f = new File(path);
		if (!f.exists()) {
			System.out.println("该目录不存在!");
			return;
		}
		if (f.delete()) {
			// File tf = new File("testFile");
			// System.out.println("该目录为" + tf.getPath() );
			System.out.println("该目录为" + f.getAbsolutePath());
		} else {
			// System.out.println(f.delete());
			// System.out.println("this directory is not empty!");
			File[] files = f.listFiles();
			for (int i = 0; i < files.length; i++) {
				if (files[i].isDirectory()) {
					if (!files[i].delete()) {
						deleteDirectory(files[i].getAbsolutePath());
					}
					if (files[i].delete()) {
						System.out.println("delete directory : "
								+ files[i].getAbsolutePath());
					}
				} else {
					files[i].delete();
					System.out.println("该文件为" + files[i].getAbsolutePath());
				}
			}
			f.delete();
			System.out.println("该目录为" + f.getAbsolutePath());
		}
	}

}



运行结果:
该文件为D:\a\b\c.txt
该文件为D:\a\b\c1.txt
该目录为D:\a\b
该文件为D:\a\b.txt
该文件为D:\a\b1.txt
该文件为D:\a\b2.txt
该文件为D:\a\b3.txt
该目录为D:\a

人人网的面试题,当时没写出来,我哭,估计没有机会二面了。。。   
分享到:
评论

相关推荐

    Java删除不为空的目录

    Java删除不为空的目录,在图形化系统如Windows 和大部分的Linux 中删除一个目录是很容易的事,但是事实上并非如此,我们感到方便是因为操作系统帮我们完成了底层的删除工作,真正的删除工作是比较繁琐的。...

    代码行差异统计工具,勇于比较两个代码包的新增,修改,删除的代码量,并能按语言类型归类

    一个会算作删除,一个会算作新增 G:\diffcount&gt;diffcount test\sp1 test\sp2 Diffcount [test\sp1] and [test\sp2] result: LANG ADD MOD DEL A&M BLK CMT NBNC RATE ----------------------------------------...

    kellerMapper.jar

    这是一款轻量级的MyBatis插件,在GitHub上发布的有打好的jar包,25.2Kb,导入项目中即可使用,支持创建数据表、自定义查询、分页查询等常用的数据库操作。 依赖包 &lt;groupId&gt;org.mybatis.spring.boot ...

    代码行变更统计工具

    一个会算作删除,一个会算作新增 Diffcount [test\sp1] and [test\sp2] result: LANG ADD MOD DEL A&M BLK CMT NBNC RATE ----------------------------------------------------------------------- C 44 7 ...

    Android开发人员不得不收集的代码

    deleteFilesInDirWithFilter: 删除目录下所有过滤的文件 listFilesInDir : 获取目录下所有文件 listFilesInDirWithFilter : 获取目录下所有过滤的文件 getFileLastModified : 获取文件最后修改的毫秒时间戳 ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    8.5.4 例2:从下一行中返回一个值 204 8.6 First_value和Last_value 205 8.6.1 例子:使用First_value来计算最大值 206 8.6.2 例子:使用Last_value来计算最小值 207 8.7 其他分析函数 207 8.7.1 Nth_value(11...

    高校成绩管理数据库系统的设计与实现.doc

    采用VC++或Java/JSP 或其它开发工具实现一个B/S或C/S结构的成绩管理系统,系统需要有数据录入功 能、信息检索功能和统计功能等; 7. 设计该数据库的数据备份及数据恢复策略。 8. 写出数据库设计中遇到的问题及体会...

    数据库应用系统设计报告.doc

    相关资料 2.1需求文档: 需求文档请见同一目录下的《&lt;工资管理系统&gt;需求分析书》 2.2参考资料: 1) 数据库应用技术——SQL Server 2000 简明教程 李存斌 主编 中国水利水电出版社 2007年8月第12次印刷 2) SQL Server...

    2009达内SQL学习笔记

    select:从一个或多个表中检索一个或多个数据列。包含信息:想选择什么表,从什么地方选择。必须要有From子句。(最常用) 当从多张表里查询的时候,会产生笛卡尔积;可用条件过滤它。 当两个表有相同字段时必须加...

    飞鸽传书(IPMessenger) 源码

    就发送FREEEIM_FILE_RETPARENT信息包,接受的FREEEI_FILE_RETP报文的FreeEIM(飞鸽传书)客户端,执行返回上一级目录,FreeEIM(飞鸽传书)发送端,就需发送目录下的文件。这样循环操作,最终完成文件的传输,这个过程...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    说明:Oracle中要删除一个用户,必须要具有dba的权限。而且不能删除当前用户,如果删除的用户有数据对象,那么必须加上关键字cascade。 用法:drop user 用户名 [cascade] 四、 用户权限与角色 1. 权限 Oracle中权限...

    Oracle SQL Handler (Oracle客户端工具) V3.1

    本工具是用 Java 开发的、专门用于 Oracle 数据库操作的一种图形界面工具: 多线程、多连接、支持 PL/SQL、功能实用、操作简便,能运行于所有平台包括 Windows、Linux 及 Unix,勿需安装 Oracle 客户端,仅 2.8 MB ...

    ZooKeeperStart:zookeeper入门实例

    ctrl + cdigest & auth & 超级管理员查看启动的状态zkServer.sh status启动日志./zkServer.sh start-foreground常用Linux命令附文件的权限chmod a+xwr (具体目录)删除目录及下面文件rm -rf 非空文件夹名

Global site tag (gtag.js) - Google Analytics