将一个文件夹复制到另一个地方

public static void copyFile(String srcname,String target) throws Exception{
		File srcfile = new File(srcname);
        //将原文件目录在目标文件夹下创建
		File targfile = new File(target,srcfile.getName());
		targfile.mkdirs();
        //获取源文件夹下文件集合
		File[] files = srcfile.listFiles();
        //遍历集合
		if (files!=null) {
			for (File file : files) {
				if (file.isFile()) {
                //创建输入输出流,小数组进行复制
				FileInputStream fis = new FileInputStream(file);
				File fo = new File(targfile, file.getName());
				FileOutputStream fos = new FileOutputStream(fo);
				int len;
				byte[] bs = new byte[1024];
				while((len=fis.read(bs))!=-1) {
					fos.write(bs, 0, len);
				}
				fis.close();
				fos.close();
				}else if (file.isDirectory()) {
                    //递归方式重新遍历子文件夹下的文件,注意要获取绝对路径
					copyFile(file.getAbsolutePath(), targfile.getAbsolutePath());
				}
			}
		}
				
	}

注意:在递归时要获取绝对路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值