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

Posted zuixinxian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复制指定目录下的指定类型文件,并修改后缀名相关的知识,希望对你有一定的参考价值。

package com.companyname.common.test;

import java.io.*;

/**
 * @Description
 * @Author Created by shusheng.
 * @Email [email protected]
 * @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();
    }
    
}

 

以上是关于复制指定目录下的指定类型文件,并修改后缀名的主要内容,如果未能解决你的问题,请参考以下文章

C#实现把指定文件夹下的所有文件复制到指定路径下以及修改指定文件的后缀名

IO流的练习3 复制多级文件夹下的指定文件并改名

使用bat的Xcopy命令把一个目录下的指定多个不同的文件类型复制到别一个文件夹

C#如何遍历指定目录以及指定目录下所有子文件夹,并获取除指定文件类型以外的所有文件的绝对路径?

用bat复制指定文件到指定文件目录下的所有文件夹?

如何删除子目录下所有指定后缀文件?