题目是:
编写一个程序,要求删除一个非空目录,并列出删除目录的文件名。
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删除不为空的目录,在图形化系统如Windows 和大部分的Linux 中删除一个目录是很容易的事,但是事实上并非如此,我们感到方便是因为操作系统帮我们完成了底层的删除工作,真正的删除工作是比较繁琐的。...
一个会算作删除,一个会算作新增 G:\diffcount>diffcount test\sp1 test\sp2 Diffcount [test\sp1] and [test\sp2] result: LANG ADD MOD DEL A&M BLK CMT NBNC RATE ----------------------------------------...
这是一款轻量级的MyBatis插件,在GitHub上发布的有打好的jar包,25.2Kb,导入项目中即可使用,支持创建数据表、自定义查询、分页查询等常用的数据库操作。 依赖包 <groupId>org.mybatis.spring.boot ...
一个会算作删除,一个会算作新增 Diffcount [test\sp1] and [test\sp2] result: LANG ADD MOD DEL A&M BLK CMT NBNC RATE ----------------------------------------------------------------------- C 44 7 ...
deleteFilesInDirWithFilter: 删除目录下所有过滤的文件 listFilesInDir : 获取目录下所有文件 listFilesInDirWithFilter : 获取目录下所有过滤的文件 getFileLastModified : 获取文件最后修改的毫秒时间戳 ...
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...
采用VC++或Java/JSP 或其它开发工具实现一个B/S或C/S结构的成绩管理系统,系统需要有数据录入功 能、信息检索功能和统计功能等; 7. 设计该数据库的数据备份及数据恢复策略。 8. 写出数据库设计中遇到的问题及体会...
相关资料 2.1需求文档: 需求文档请见同一目录下的《<工资管理系统>需求分析书》 2.2参考资料: 1) 数据库应用技术——SQL Server 2000 简明教程 李存斌 主编 中国水利水电出版社 2007年8月第12次印刷 2) SQL Server...
select:从一个或多个表中检索一个或多个数据列。包含信息:想选择什么表,从什么地方选择。必须要有From子句。(最常用) 当从多张表里查询的时候,会产生笛卡尔积;可用条件过滤它。 当两个表有相同字段时必须加...
就发送FREEEIM_FILE_RETPARENT信息包,接受的FREEEI_FILE_RETP报文的FreeEIM(飞鸽传书)客户端,执行返回上一级目录,FreeEIM(飞鸽传书)发送端,就需发送目录下的文件。这样循环操作,最终完成文件的传输,这个过程...
说明:Oracle中要删除一个用户,必须要具有dba的权限。而且不能删除当前用户,如果删除的用户有数据对象,那么必须加上关键字cascade。 用法:drop user 用户名 [cascade] 四、 用户权限与角色 1. 权限 Oracle中权限...
本工具是用 Java 开发的、专门用于 Oracle 数据库操作的一种图形界面工具: 多线程、多连接、支持 PL/SQL、功能实用、操作简便,能运行于所有平台包括 Windows、Linux 及 Unix,勿需安装 Oracle 客户端,仅 2.8 MB ...
ctrl + cdigest & auth & 超级管理员查看启动的状态zkServer.sh status启动日志./zkServer.sh start-foreground常用Linux命令附文件的权限chmod a+xwr (具体目录)删除目录及下面文件rm -rf 非空文件夹名