A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码如下:
package Test.Demo_0404.Test;

import java.io.*;

public class CopyFileDemo {
    public static void main(String[] args) throws  IOException{
        // 获取需要copy的源文件位置
        File file =new File("F:\\cs");
        //获取它的文件名cs给fname
        String fname = file.getName();
        //创建复制后的文件夹路径 在Demo根路径下
        File f = new File("Demo",fname);
        //判断创建
        if(!f.exists()){
            f.mkdir();
        }
        //创建源文件夹的文件数组
        File[] listF = file.listFiles();
        //循环遍历这个数组 把源文件夹的文件遍历进行复制
        for (File file1 : listF) {
            //获取需要Copy的文件的名字 file1 是源文件的文件名
            String filename = file1.getName();
            //创建复制后的文件
            File destf = new File(f,filename);
            //开始复制
            copy(file1,destf);

        }


    }

    private static void copy(File file1, File destf) throws IOException{
        //创建字节缓存输入/输出 流 bis 读取 源文件的文件
        // bos 写 复制后的文件夹文件
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file1));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destf));

        //开始读取和写入
        byte[] by = new byte[1024];
        int x=-1;
        while ((x=bis.read(by))!=-1){
            bos.write(by,0,x);
        }

        bos.close();
        bis.close();
        
    }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马