码迷,mamicode.com
首页 > 编程语言 > 详细

java-通过IO流复制文件夹到指定目录

时间:2018-07-22 01:01:21      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:user   tst   exists   fun   for   main   redo   folder   复制文件   

public class copyDirectoryDemo {

    public static void main(String[] args) {
        File srcFolder = new File("C:\\Users\\MA\\Desktop\\IOtest");
        File destFolder = new File("C:\\Users\\MA\\Desktop\\IOtest\\test");
        fun(srcFolder, destFolder);
    }

    public static void fun(File srcFolder, File destFolder) {
        File[] fileArray = srcFolder.listFiles();
        if (!destFolder.exists()) {
            destFolder.mkdir();
        }
        for (File file : fileArray) {
            if (file.isDirectory()) {
                String folderName = file.getName();
                File newDestFolder = new File(destFolder, folderName);
                fun(file, newDestFolder);
            } else {
                String fileName = file.getName();
                File destFile = new File(destFolder, fileName);
                copy(file, destFile);
            }
        }
    }

    public static void copy(File file, File destFile) {
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;
        try {
            bis = new BufferedInputStream(new FileInputStream(file));
            bos = new BufferedOutputStream(new FileOutputStream(destFile));
            byte[] bys = new byte[1024];
            int len = 0;
            while((len=bis.read(bys))!=-1){
                bos.write(bys,0,len);
                
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }catch (IOException e){
            e.printStackTrace();
        }finally{
            if(bis!=null){
                try {
                    bis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if(bos!=null){
                try {
                    bos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            
        }    
    }
}

java-通过IO流复制文件夹到指定目录

标签:user   tst   exists   fun   for   main   redo   folder   复制文件   

原文地址:https://www.cnblogs.com/mxj961116/p/9348742.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!