【复制指定目录下的指定类型文件,并修改后缀名】

package com.companyname.common.test;

import java.io.*;

/**
 * @Description
 * @Author Created by shusheng.
 * @Email shusheng@yiji.com
 * @Date 2018/12/2
 */
public class CopyFolderDemo {

    public static void main(String[] args) throws IOException {
        // 封装目录
        File srcFolder = new File("E:\【GIT-FILES】\yix\yix-common\src\main\java\com\yiji\yix\common\utils");
        // 封装目的地
        File destFolder = new File("E:\test");
        // 如果目的地目录不存在,就创建
        if (!destFolder.exists()) {
            destFolder.mkdirs();
        }
        // 获取该目录下的java文件的File数组
        File[] fileArray = srcFolder.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return new File(dir, name).isFile() && name.endsWith(".java");
            }
        });
        // 遍历该File数组,得到每一个File对象,并复制到目标文件夹
        for (File file : fileArray) {
            String name = file.getName();
            String newName = name.replace(".java", ".jad");
            File newFile = new File(destFolder, newName);
            copyFile(file, newFile);
        }
    }

    public static void copyFile(File file, File newFile) throws IOException {
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newFile));

        byte[] bytes = new byte[1024];
        int len = 0;
        while ((len = bis.read(bytes)) != -1) {
            bos.write(bytes, 0, len);
        }
        bis.close();
        bos.close();
    }
    
}
终身学习者
原文地址:https://www.cnblogs.com/zuixinxian/p/10087018.html