1. /*
  2. * 需求:递归删除带内容的目录
  3. *
  4. * 目录:demo
  5. * ----------------------------------------------------------------------------------
  6. * 具体的demo目录如下:
  7. * demo\aaaa\a1.txt
  8. * demo\aaaa\a2.txt
  9. * demo\bbbb\b1.txt
  10. * demo\bbbb\b2.txt
  11. * 具体的删除结果如下:(删除顺序:先删某文件夹下的文件,再删该文件)
  12. * a1.txt
  13. * a2.txt
  14. * aaaa
  15. *
  16. * b1.txt
  17. * b2.txt
  18. * bbbb
  19. *
  20. * demo
  21. *
  22. * -----------------------------------------------------------------------------------
  23. * 分析:
  24. * A:封装目录
  25. * B:获取该目录下的所有文件或者文件夹的File数组
  26. * C:遍历该File数组,得到每一个File对象
  27. * D:判断该File对象是否是文件夹
  28. * 是:回到B
  29. * 否:就删除
  30. */
  31. public class FileDeleteDemo {
  32. public static void main(String[] args) {
  33. // 封装目录
  34. File srcFolder = new File("demo");
  35. // 递归实现
  36. deleteFolder(srcFolder);
  37. }
  38.  
  39. private static void deleteFolder(File srcFolder) {
  40. // 获取该目录下的所有文件或者文件夹的File数组
  41. File[] fileArray = srcFolder.listFiles();
  42. if (fileArray != null) {
  43. // 遍历该File数组,得到每一个File对象
  44. for (File file : fileArray) {
  45. // 判断该File对象是否是文件夹
  46. if (file.isDirectory()) {
  47. //回到B,继续执行(递归)
  48. deleteFolder(file);
  49. } else {
  50. //打印删除了的文件
  51. System.out.println(file.getName() + "---" +file.delete());
  52. }
  53. }
  54. //打印删除的文件夹(先删除该文件夹下的文件,再删除文件夹)
  55. System.out.println(srcFolder.getName() + "---" + srcFolder.delete());
  56. }
  57. }
  58. }

  

IO流-递归删除带内容的目录的更多相关文章

  1. Java基础知识强化之IO流笔记15:递归之删除带内容的目录案例

    1. 需求:递归删除带内容的目录 分析:   (1)封装目录   (2)获取该目录下的所有文件或者文件夹的File数组   (3)遍历该File数组,得到每一个File对象   (4)判断该File对 ...

  2. IO流(8)递归删除带文件的目录

    递归删除带内容的目录 * * 目录给定:demo * * 分析: * A:封装目录 * B:获取该目录下的所有文件或者文件夹的File数组 * C:遍历该File数组,得到每一个File对象 * D: ...

  3. java基础知识回顾之javaIO类--File类应用:删除带内容的目录

    /** * 深度删除一个带内容的目录 * 原理:必须从里往外删除,需要深度遍历 * @author Administrator * */ public class FileDeleteList { / ...

  4. Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte

    File 类 用来将文件或者文件夹封装成对象 方便对文件与文件夹进行操作. File对象可以作为参数传递给流的构造函数 流只用操作数据,而封装数据的文件只能用File类 File类常见方法: 1.创建 ...

  5. File类_删除一个带内容的目录_练习

    需求:删除一个带内容的目录 原理:必须从最里面往外删除需要深度遍历 import java.io.File; public class RemoveDirTest { public static vo ...

  6. 15.io流,递归

    一.file的常用api 二.算法:递归1.定义:递归算法是把问题转化为规模缩小了的同类问题的子问题.然后递归调用函数(或过程)来表示问题的解.一个过程(或函数)直接或间接调用自己本身,这种过程(或函 ...

  7. Java第三阶段学习(二、IO流--------递归,字节流Stream)

    一.递归 定义:指方法在方法内调用自己 适用于方法的运算主体不变,但运行的时候,参与运算的方法参数会变化注意:一定要给递归一个出口,否则内存溢出 练习题1:使用递归打印文件夹中所有的文件,包含子目录中 ...

  8. IO流——递归(输出所有文件)

    package pers.zbb.File; import java.io.File; public class FileDemo { public static void main(String[] ...

  9. java IO流实现删除文件夹以及文件夹中的内容

    这篇主要是对IO文件流对文件常用处理中的删除文件夹,平时我们直接删除文件夹既可以删除里面的全部内容. 但是java在实现删除时,只能是文件才会被删除. 所以这里需要定义一个方法,来递归调用方法(递归调 ...

随机推荐

  1. SPOJ 16549 - QTREE6 - Query on a tree VI 「一种维护树上颜色连通块的操作」

    题意 有操作 $0$ $u$:询问有多少个节点 $v$ 满足路径 $u$ 到 $v$ 上所有节点(包括)都拥有相同的颜色$1$ $u$:翻转 $u$ 的颜色 题解 直接用一个 $LCT$ 去暴力删边连 ...

  2. linux用户权限 -> 系统特殊权限

    set_uid 运行一个命令的时候,相当于这个命令的所有者,而不是执行者的身份. suid的授权方法 suid 权限字符s(S),用户位置上的x位上设置. 授权方法: passwd chmod u+s ...

  3. Windows版Oracle重建EM---备注

    前提条件添加环境变量 ORACLE_HOSTNAME=<主机名:如:DESKTOP-P6J1a>ORACLE_SID=orclORACLE_UNQNAME=orcl 执行删除命令 C:\U ...

  4. 数据库-mysql函数

    一:MySQL中提供了许多内置函数 CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符. 对于一个包含五个二字节字符集, LENGTH()返 ...

  5. python面向对象(七)属性方法的添加

    ​ 通常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.下来我就讲下添加属性和方法,同时也将下限值添加属性方法. 添加属性 ...

  6. No.15 selenium for python JavaScript

    JS处理滚动条 一.上下滚动 1.滚动条回到顶部: js="var q=document.documentElement.scrollTop=10000" driver.execu ...

  7. 20165203 2017-2018-2 《Java程序设计》第一周学习总结

    20165203 2017-2018-2<Java程序设计>第一周学习总结 教材学习内容总结 (一)Java的地位 Java是面向对象编程,并涉及网络.多线程等重要的基础知识,是一门很好的 ...

  8. 函数fgets和fputs、fread和fwrite用法小结(转)

    字符串读写函数fgets和fputs: 1.fgets()函数:原型char *fgets(char *s, int n, FILE *stream);从流中读取n-1(n默认1024)个字符之前,如 ...

  9. C# 图片和二进制之间的转换

    1> 图片转二进制  public byte[] GetPictureData(string imagepath){/**/////根据图片文件的路径使用文件流打开,并保存为byte[] Fil ...

  10. WordPress引入css/js两种方法

    WordPress引入css/js 是我们制作主题时首先面对的一个难点,任何一款主题都要加载自己的css,js,甚至很有可能还需要加载Jquery文件,网上方法特多,说法不一,我们今天借鉴wordpr ...