黑马程序员技术交流社区

标题: 【成都校区】如何利用编程去复制一个文件夹 [打印本页]

作者: 三思.    时间: 2019-4-4 13:49
标题: 【成都校区】如何利用编程去复制一个文件夹
代码如下:
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();
        
    }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2