2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到F盘下任意目录

package cn.it.text;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;

/*
 * 2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到D盘下任意目录
 */
public class Text2 {
    public static int num = 0;

    public static void main(String[] args) throws Exception {
        File file = new File("f:\a");
        getTxt(file);
        System.out.println("复制完成!");
        System.out.println("txt文件的个数是:"+num);

    }

    public static void getTxt(File file) throws Exception {

        // 判断传入的文件是否存在
        if (file.exists()) {
            File[] fileArr = file.listFiles();
            for (File f : fileArr) {
                // 判断是否是文件夹
                if (f.isDirectory()) {
                    getTxt(f);
                }

                // 不是文件夹的话,判断是否是txt
                if (f.getName().endsWith("txt")) {
                    num += 1;
                    BufferedInputStream in = new BufferedInputStream(new FileInputStream(f));
                    BufferedOutputStream out = new BufferedOutputStream(
                            new FileOutputStream(new File("f:\c", f.getName())));
                    int len;
                    while ((len = in.read()) != -1) {
                        out.write(len);
                    }

                    in.close();
                    out.close();
                }

            }
        }
        
    }
}
原文地址:https://www.cnblogs.com/zhilili/p/10700191.html