案例:

package DiGui; 
 
import java.io.File; 
 
/* 
    遍历G:\Demo02文件夹,及Demo02的子文件夹 
    搜索以.java结尾的文件,并打印输出 
 
    需求: 
        G:\Demo02 
        G:\Demo02\.idea 
        G:\Demo02\.idea\misc.xml 
        G:\Demo02\.idea\modules.xml 
        G:\Demo02\.idea\workspace.xml 
        G:\Demo02\Demo02.iml 
        G:\Demo02\out 
        G:\Demo02\out\production 
        G:\Demo02\out\production\Demo02 
        G:\Demo02\out\production\Demo02\DiGui 
        G:\Demo02\out\production\Demo02\DiGui\Demo01Sum.class 
        G:\Demo02\out\production\Demo02\DiGui\Demo02Sum.class 
        G:\Demo02\out\production\Demo02\DiGui\Demo03DiGuiMuLu.class 
        G:\Demo02\out\production\Demo02\META-INF 
        G:\Demo02\out\production\Demo02\META-INF\Demo02.kotlin_module 
        G:\Demo02\out\production\Demo02\one.class 
        G:\Demo02\src 
        G:\Demo02\src\DiGui 
        G:\Demo02\src\DiGui\Demo01Sum.java 
        G:\Demo02\src\DiGui\Demo02Sum.java 
        G:\Demo02\src\DiGui\Demo03DiGuiMuLu.java 
        G:\Demo02\src\one.java 
 */ 
public class Demo04SouSuo { 
    public static void main(String[] args) { 
        File file = new File("G:\\Demo02"); 
        getAllFile(file); 
    } 
 
    /* 
        定义一个方法,参数传递File类型的目录 
        方法中对目录进行遍历 
     */ 
    public static void getAllFile(File dir){ 
        File[] files = dir.listFiles(); 
        for (File f : files) { 
            //对遍历得到的File对象f进行判断,判断是否为文件夹 
            if (f.isDirectory()){ 
                //f是一个文件夹,则继续遍历这个文件夹 
                //发现getAllFile方法就是传递文件夹,遍历文件夹的方法 
                //所以直接调用getAllFile方法即可:递归(自己调用自己) 
                getAllFile(f); 
            }else { 
                //只要.java结尾的文件 
 
                /*//1.把File对象f,转换为字符串对象 
                //String name = f.getName(); 
                //String path = f.getPath(); 
                String s = f.toString(); 
 
                //把字符串转换为小写 
                s = s.toLowerCase(); 
 
                //2.调用String类中的方法endwith判断字符串是否以.java结尾 
                boolean b = s.endsWith(".java"); 
 
                //3.如果是以.java结尾的文件,则输出 
                if (b){ 
                    System.out.println(s); 
                }*/ 
                 
                //简化代码 链式表达式 
                if (f.getName().toLowerCase().endsWith(".java")){ 
                    System.out.println(f); 
                } 
            } 
        } 
    } 
} 

运行结果:

G:\Demo02\src\DiGui\Demo01Sum.java 
G:\Demo02\src\DiGui\Demo02Sum.java 
G:\Demo02\src\DiGui\Demo03DiGuiMuLu.java 
G:\Demo02\src\DiGui\Demo04SouSuo.java 
G:\Demo02\src\one.java

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Java练习>等待唤醒机制实现>>吃货吃包子案例