0
点赞
收藏
分享

微信扫一扫

24File类文件搜索

练习:
 遍历打印多级目录,遍历C:abc文件夹,即abc文件夹的子文件夹,只要.java结尾的文件
C:\abc
C:\abc\a
C:\abc\a\a.java
C:\abc\a\a.txt
C:\abc\abc.java
C:\abc\abc.txt
C:\abc\b
C:\abc\b\b.java
C:\abc\b\b.txt

详细代码:

package demo24file便利案例文件搜索;
/*
练习:
 遍历打印多级目录,遍历C:abc文件夹,即abc文件夹的子文件夹,只要.java结尾的文件
C:\abc
C:\abc\a
C:\abc\a\a.java
C:\abc\a\a.txt
C:\abc\abc.java
C:\abc\abc.txt
C:\abc\b
C:\abc\b\b.java
C:\abc\b\b.txt
 */
import java.io.File;

public class DemoRecurison {
    public static void main(String[] args) {
        File file=new File("C:\\abc");
        getAllFile(file);
    }
    private static void getAllFile(File dir){
        //System.out.println(dir);//打印被遍历的目录名称
        File[] files=dir.listFiles();
        for (File f:files){
           if (f.isDirectory()){//f是一个文件夹,则遍历整个文件夹
               getAllFile(f);//递归调用自身
           }else{
              /* //1.只要.java文件,把File对象转换为字符串对象,以下3种都可以
               //String name=f.getName();abc.java
               //String parh=f.get.Path();C:\abc\abc.java
               String s=f.toString();//C:\abc\abc.java

               //把字符串转换为小写
               s=s.toLowerCase();

               //2.调用String类中的方法endsWith判断字符串是否以.java结尾
               boolean b=s.endsWith(".java");
               //3如果是.以.java结尾的文件,则输出
               if (b){
                   System.out.println(f);//如果是一个文件则直接打印
               }*/
              //简写形式
               if (f.getName().toLowerCase().endsWith(".java")){
                   System.out.println(f);
               }
           }
        }
    }
}

结果:

 

举报

相关推荐

0 条评论