Java IO之复制文件夹中的所有内容

import java.io.*;

public class Copy {
    public static void main(String[] args) throws IOException{
        File file1=new File("C:\\Users\\master\\Desktop\\FlappyBird");//源文件夹
        File file2=new File("C:\\Users\\master\\Desktop\\表情包");//目标文件夹
        file2.mkdirs();//创建目标文件夹
        copy(file1,file2);//开始进行复制操作
    }
    public static void copy(File file1,File file2) throws IOException{
        File[] files=file1.listFiles();//获取源文件夹下的所有抽象路径名
        for (File file:files) {//开始遍历源文件夹
            if(file.isDirectory()){//如果遍历到了文件夹
                File file3=new File(file2,file.getName());//以目标文件夹为父目录创建抽象路径名
                file3.mkdir();//创建文件夹
                copy(file,file3);//递归复制整个文件夹
            }else if(file.isFile()){//如果遍历到了文件
                File file3=new File(file2,file.getName());//以目标文件夹为父目录创建抽象路径名
                if(file3.exists()){
                    file3.createNewFile();//创建文件
                }
                //对源文件夹下的文件和目标文件夹下新创建的文件进行复制操作
                BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream(file));
                BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream(file3));
                byte[]bytes=new byte[1024];
                int len=bufferedInputStream.read(bytes,0,1024);
                while(len!=-1){
                    bufferedOutputStream.write(bytes,0,len);
                    len=bufferedInputStream.read(bytes,0,len);
                }
                bufferedOutputStream.close();
                bufferedInputStream.close();
            }
        }
    }
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值