java 20 -2 递归之找特定目录下的特定格式文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 20 -2 递归之找特定目录下的特定格式文件相关的知识,希望对你有一定的参考价值。

 1 /*
 2      需求:把C:\Users\Administrator\Desktop\记录目录下所有以.java结尾的文件的绝对路径输出到控制台
 3      分析:
 4          A:封装该目录
 5          B:获取该目录下的所有文件或文件夹的File数组
 6          C:遍历该File数组,得到每个File对象
 7          D:判断所遍历的File对象是否是文件夹:
 8              是:回到B,继续执行
 9              不是:判断是否是以.java结尾
10                  是:输出该文件的绝对路径
11                  不是:不理
12      总结:上面的分析中,如果是以递归来做。那么,B、C、D两个步骤可以设为个递归方法,该递归方法:
13          返回类型:void
14          参数列表:File xxx
15          出口:以.java结尾
16  */
17 package zl_DiGui;
18 
19 import java.io.File;
20 public class FilePathDemo {
21 
22     public static void main(String[] args) {
23         //封装该目录
24         File allfile = new File("C:\\Users\\Administrator\\Desktop\\记录");
25             
26         //调用递归
27         getjavafile(allfile);
28     }
29     //建立递归方法
30     private static void getjavafile(File allfile) {
31         
32         // 获取该目录下所有文件或文件夹的File数组
33         File[] arryfile = allfile.listFiles();
34         
35         //对该File数组进行遍历
36         for(File file : arryfile){
37             
38             //判断是否是文件夹
39             if(file.isDirectory()){
40                 //是的话,就继续以这个文件夹为目录,获取它里面的文件或文件夹的File数组
41                 //也就是返回步骤B
42                 getjavafile(file);
43             }
44             else{
45                 //如果不是文件夹,而是文件,则判断是否以.java结尾
46                 if(file.getName().endsWith(".java")){
47                     //是的话就输出它的绝对路径
48                     System.out.println(file.getAbsolutePath());
49                 }
50             }
51         }
52 
53     }
54     
55 }

 

以上是关于java 20 -2 递归之找特定目录下的特定格式文件的主要内容,如果未能解决你的问题,请参考以下文章

Java 使用特定格式的级别顺序打印二叉树

动态编程:带有记忆的递归是不是可以与任何递归解决方案或仅特定格式的解决方案一起使用?

MyEclipse------遍历某个路径下的(所有或特定)文件和目录

过滤ls输出以仅显示小于特定大小的目录/文件

如何在shell的递归目录中列出特定类型的文件?

PHP 使用php删除递归特定文件夹(目录)