java中删除目录事先要删除目录下的文件或子目录。用递归就可以实现。

public void del(String filepath) throws IOException{

File f = new File(filepath);//定义文件路径

if(f.exists() && f.isDirectory()){//判断是文件还是目录

if(f.listFiles().length==0){//若目录下没有文件则直接删除

f.delete();

}else{//若有则把文件放进数组,并判断是否有下级目录

File delFile[]=f.listFiles();

int i =f.listFiles().length;

for(int j=0;j

if(delFile[j].isDirectory()){

del(delFile[j].getAbsolutePath());//递归调用del方法并取得子目录路径

}

delFile[j].delete();//删除文件

}

}

del(filepath);//递归调用

}

}

----------------------------------------------------------------------------------------------------------------

删除一个非空目录并不是简单地创建一个文件对象,然后再调用delete()就可以完成的。要在平台无关的方式下安全地删除一个非空目录,你还需要一个算法。该算法首先删除文件,然后再从目录树的底部由下至上地删除其中所有的目录。

只要简单地在目录中循环查找文件,再调用delete就可以清除目录中的所有文件:

static public void emptyDirectory(File directory) {

File[ ] entries = directory.listFiles( );

for(int i=0; i

entries[i].delete( );

}

}

这个简单的方法也可以用来删除整个目录结构。当在循环中遇到一个目录时它就递归调用deleteDirectory,而且它也会检查传入的参数是否是一个真正的目录。最后,它将删除作为参数传入的整个目录。

static public void deleteDirectory(File dir) throws IOException {

if( (dir == null) || !dir.isDirectory) {

throw new IllegalArgumentException(

"Argument "+dir+" is not a directory. "

);

}

File[ ] entries = dir.listFiles( );

int sz = entries.length;

for(int i=0; i

if(entries[i].isDirectory( )) {

deleteDirectory(entries[i]);

} else {

entries[i].delete( );

}

}

dir.delete();

}

在Java 1.1以及一些J2ME/PersonalJava的变种中没有File.listFiles方法。所以只能用File.list,它的返回值一个字符串数组,你要为每个字符串构造一个新的文件对象。

java目录删除_java删除文件及目录相关推荐

  1. 删除该目录下所有的文件和目录

    题目 删除该目录下所有的文件和目录 分析 可以使用递归来进行删除,每一次调用递归都删除其里边的文件,当递归回调的时候删除那些已经被删空的文件夹 程序代码 package com.company.dem ...

  2. Java编程的逻辑 (59) - 文件和目录操作

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  3. Linux常用命令(本篇包括,Linux目录结构介绍、Linux Shell介绍、9个常见命令介绍、文件的概念、文件的操作(20个)、目录的操作、文件和目录的权限、文件压缩及解压缩)

    Linux常用命令(本篇包括,Linux目录结构介绍.Linux Shell介绍.9个常见命令介绍.文件的概念.文件的操作(20个).目录的操作.文件和目录的权限.文件压缩及解压缩)         ...

  4. linux中显示没有那个目录,linux没有那个文件或目录

    linux下创建文件与目录时默认被赋予了什么样的权限? 当我们创建一个新的文件或目录的时候,他的默认权限是什么? umask--指定当前使用者在创建文件或目录的时候默认的权限值 [root@iZ288 ...

  5. 目录打开显示提示文件或目录损坏且无法读取、文件或目录损坏且无法读取的破解之道

    咱们在平日工作时,通常都会将资料放进不同的目录中,方便咱们找到,随着时间的推移就会产生有越来越多目录.最近有位用户了这样一个问题,就是目录无论怎么都无法打开,这样就无法浏览.使用里面的资料了,影响到了 ...

  6. java 指定文件格式_java删除指定目录下指定格式文件的方法

    本文实例为大家分享了java删除指定目录下指定格式文件的具体代码,供大家参考,具体内容如下 正在看疯狂java讲义这本书,发现源码中有我不需要的class文件,想批量把它删除 代码如下: import ...

  7. 删除指定目录下的所有文件包括目录

    public class DelFile{   /**     * 删除指定目录下全部文件和目录     * @param filePath 需删除的文件目录路径     */    public s ...

  8. Windows 技术篇 - 无需确认快速删除包含大量文件的目录,cmd删除文件的rmdir、del、erase和rd四种命令使用方法

    一些非固态硬盘的机器,传统的删除大量的文件会非常耗时. 使用 rmdir /S /Q D:\delete 命令可以无需确认更快速的进行删除操作,其中 D:\delete 表示要删除的文件夹. rmdi ...

  9. linux 删除提示没有那个文件或目录,rm 无法删除没有那个文件或目录

    大家都知道 rm  这个命令 删除 文件 或目录. 简单说一下 rm  这命令的用法 以及选项 -f      强制删除 ,不提醒是否删除,如果删除的文件不存在 则忽略 -i     每次 删除的时候 ...

  10. java zip 创建目录_Java实现Zip压缩目录中的所有文件

    java中将一个文件夹下所有的文件压缩成一个文件,然import java.io.*; import java.util.zip.*; public class CompressD { // 缓冲 s ...

最新文章

  1. Java-第三章-使用if选择结构实现,如果年龄够7岁或5岁并且是男,可以搬桌子
  2. 一个有关程序运行时间的小测试
  3. Python自动化之语法基础
  4. php获取apk中文应用名,php提取apk包信息 - 搜知道网 - 搜知道社区,C, iOS,Android,golang 等的知识....
  5. java算法在工作,我在北京找工作(三):java实现算法2 直接插入排序+不可变类...
  6. JS删除两个数组中相同的某个对象值
  7. ai/ml_十大ML / AI现实世界项目,以增强您的产品组合
  8. matlab调用python数值精度改变吗_Matlab如何调用python脚本-matlab调用python数值精度改变吗 - PS下...
  9. 真是恍然大悟啊!java从入门到精通pdf百度云
  10. oracle驱动包如何看版本,查看JDBC驱动版本
  11. IPC进程间通信/跨进程通信
  12. 专业SMT贴片螺母生产厂家|支持贴片螺母非标定制符合产品要求
  13. 解决 手心输入法 导致 Navicat 闪退问题
  14. matlab心理学函数包,心理学研究方法:基于MATLAB和PSYCHTOOLBOX
  15. Vue入门 computer计算属性
  16. 《勒索软件防护体系建设指南》发布|美创深度参编,入选代表性厂商
  17. 面:【1】笔试. mgj 再菜也能做出来,,,有点信心好不好
  18. python(25)- 面向对象补充Ⅰ
  19. 2022年危险化学品生产单位安全生产管理人员考试题及答案
  20. 免费获取百度网盘会员一天或七天的不限速网盘会员

热门文章

  1. 最强白嫖指南---推荐11个珍藏多年的网站!
  2. mysql必知必会心得_SQL必知必会知识总结
  3. sql注入之——sqlmap教程
  4. python简明教程_01
  5. netsh winsock reset命令,作用是重置 Winsock 目录
  6. 一份工作一年半的java开发个人简历,欢迎拍砖
  7. python设计模式之工厂模式概述
  8. python官方帮助文档中文版-python中文版
  9. java 1.6 jdk 64_jdk 1.6 64位官方下载|Java JDK(Java SE Development Kit) 1.6 64位版 - 121下载站...
  10. python教育版_pycharm教育版下载