获取一个文件夹下所有指定后缀名(.java)的文件(包括子文件夹中的内容),并将这些文件的绝对路径写入到一个文本文件中

package com.Work3;

import org.junit.Test;

import java.io.*;

/**
 * @Author: 廾匸
 * @Date: 2020/12/2 19:34
 * @Description:
 * @version: 1.01
 */
public class Three {
     
    @Test
    public void test01(){
     
        try {
     
            show(new File("G:/project"));
        } catch (IOException e) {
     
            e.printStackTrace();
        }
    }


    public void show(File file) throws IOException {
     
        if(file.isFile()){
     
            if(file.getAbsolutePath().endsWith(".java")){
     
                return;
            }
        }
        File[] files = file.listFiles(new FileFilter() {
     
            @Override
            public boolean accept(File pathname) {
     
                if(pathname.isDirectory()||pathname.getAbsolutePath().endsWith(".java")){
     
                    return true;
                }
                return false;
            }
        });
        Writer writer = null;
        BufferedWriter bufferedWriter = null;
        for (File file1 : files) {
     
            if(file1.isFile()){
     
                writer = new FileWriter("G:/text.txt",true);
                bufferedWriter = new BufferedWriter(writer);
                bufferedWriter.write(file1.getAbsolutePath());
                bufferedWriter.newLine();
                bufferedWriter.flush();
            }else{
     
                show(file1);
            }
        }
    }
}

你可能感兴趣的:(获取一个文件夹下所有指定后缀名(.java)的文件(包括子文件夹中的内容),并将这些文件的绝对路径写入到一个文本文件中)