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

Posted M_x_j

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java-通过IO流复制文件夹到指定目录相关的知识,希望对你有一定的参考价值。

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流复制文件夹到指定目录的主要内容,如果未能解决你的问题,请参考以下文章

JavaIO流--文件夹的复制

用java控制流实现文件复制后,不能删除文件

JAVA IO流复制文件内容

怎样用Java复制文件到指定目录? 在线等,急!!!!

Java-IO流总结

使用IO流复制文件夹(包括子目录)