递归练习---根据要求列出文件夹的子孙目录
2015-09-08 08:50
459 查看
package cn.itcast.other; import java.io.File; /* 需求1:列出一个文件夹的子孙文件与目录。 2,列出指定目录中所有的子孙文件与子孙目录名,要求名称前面要有相应数量的空格: 第一级前面有0个,第二级前面有1个,第三级前面有2个...,以此类推。 3,列出指定目录中所有的子孙文件与子孙目录名,要求要是树状结构,效果如下所示: |--src | |--cn | | |--itcast | | | |--a_helloworld | | | | |--HelloWorld.java | | | |--b_for | | | | |--ForTest.java | | | |--c_api | | | | |--Student.java |--bin | |--cn | | |--itcast | | | |--i_exception | | | | |--ExceptionTest.class | | | |--h_linecount | | | | |--LineCounter3.class | | | | |--LineCounter2.class | | | | |--LineCounter.class |--lib | |--commons-io.jar 需求4: 删除一个非空的文件夹。 作业: 剪切一个非空目录。 */ public class Demo10 { public static void main(String[] args) { /* File dir = new File("F:\\1208project\\day22"); listFiles3(dir,"|--");*/ File dir = new File("F:\\aa"); deleteDir(dir); } //删除了一个非空的目录 public static void deleteDir(File dir){ // bb File[] files = dir.listFiles(); //列出了所有的子文件 for(File file : files){ if(file.isFile()){ file.delete(); }else if(file.isDirectory()){ deleteDir(file); } } dir.delete(); } public static void listFiles3(File dir,String space){ //space 存储的是空格 File[] files = dir.listFiles(); //列出所有 的子文件 for(File file : files){ if(file.isFile()){ System.out.println(space+file.getName()); }else if(file.isDirectory()){ System.out.println(space+file.getName()); listFiles3(file,"| "+space); } } } //列出一个文件夹的子孙文件与目录。 public static void listFiles2(File dir,String space){ //space 存储的是空格 File[] files = dir.listFiles(); //列出所有 的子文件 for(File file : files){ if(file.isFile()){ System.out.println(space+file.getName()); }else if(file.isDirectory()){ System.out.println(space+file.getName()); listFiles2(file," "+space); } } } //列出一个文件夹的子孙文件与目录。 public static void listFiles1(File dir){ File[] files = dir.listFiles(); //列出所有 的子文件 for(File file : files){ if(file.isFile()){ System.out.println("文件名:"+file.getName()); }else if(file.isDirectory()){ System.out.println("文件夹:"+file.getName()); listFiles1(file); } } } }
相关文章推荐
- C#中的递归APS和CPS模式详解
- WinForm实现按名称递归查找控件的方法
- C#中的尾递归与Continuation详解
- C#递归实现显示文件夹及所有文件并计算其大小的方法
- php递归创建目录的方法
- Javascript递归打印Document层次关系实例分析
- oracle 使用递归的性能提示测试对比
- 使用curl递归下载软件脚本分享
- Perl脚本实现递归遍历目录下的文件
- JavaScript的递归之递归与循环示例介绍
- C# 递归查找树状目录实现方法
- 全排列算法的非递归实现与递归实现的方法(C++)
- php递归列出所有文件和目录的代码
- java递归菜单树转换成pojo对象
- 一个JavaScript递归实现反转数组字符串的实例
- Java中的递归详解(用递归实现99乘法表来讲解)
- C语言的递归思想实例分析
- php通过递归方式复制目录和子目录的方法
- php递归法读取目录及文件的方法
- php实现递归与无限分类的方法