当前位置:Gxl网 > 互联网 > 复制单级文件夹

复制单级文件夹

时间:2021-07-01 10:21:17 帮助过:6人阅读

技术图片

package com.io.liushuaishuai;

import java.io.*;
import java.lang.reflect.Field;

public class copyFolderDemo {
    public static void main(String[] args) throws IOException {
        //创建数据源目录File对象,路径是c:\\itcast
        File srcfolder = new File("c:\\itcast");
        //获取数据源目录File对象名称
        String srcfolderName = srcfolder.getName();

        //创建目的地File对象,路径是myIOstream\\srcfolederName
        File destfolder = new File("myIOstream", srcfolderName);

        //判断目的地目录对应的对象是否真实存在,如果不存在就创建它
        if (!destfolder.exists()) {
            destfolder.mkdir();
        }



        //获取数据源目录下所有文件的File数组
        File[] listFiles = srcfolder.listFiles();

        //遍历数组,得到每一个File对象,就是数据源文件就是
        for (File srcfile : listFiles) {
            System.out.println(srcfile);  //c:\itcast\index.jpg
                                         // c:\itcast\新建文本文档.txt
                                         //
            //获取数据源文件的名称
            String srcfileName = srcfile.getName();
            //创建目的地文件file对象:目的地目录对象+文件名
            File destfile = new File(destfolder, srcfileName);

            //复制文件调用方法
            copyFile(srcfile, destfile);

        }
    }



//    复制方法
    private static void copyFile(File srcfile, File destfile) throws IOException {
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcfile));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destfile));
        byte[] bys = new byte[1024];
        int len;
        while ((len = bis.read(bys)) != -1) {
            bos.write(bys,0,len);

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


    }

}