11.目录的拷贝

public class copyio {
    public static void main(String[] args) throws IOException {
        File srcfile = new File("test");
        File dstfile = new File("f:/大数据开发基础/java/src");
        copyfold(srcfile, dstfile);
    }
private static void copyfold(File srcfile, File dstfile) throws IOException {
    if (srcfile.isDirectory()) {
        //目录名称
        String srcf = srcfile.getName();

        //目标目录
        File dsf = new File(dstfile, srcf);

        //不存在就创建文件
        if (!dsf.exists()) {
            dsf.mkdir();
        }

        File[] files = srcfile.listFiles();
        //递归遍历
        for (File f : files) {
            copyfold(f, dsf);
        }
    } else {
        //如果是文件直接复制-文件格式 file(父路径,子路径)
        File newfile = new File(dstfile, srcfile.getName());
        copyfile(srcfile, newfile);
    }

}

/**
 * 文件的字节流复制
 *
 * @param srcfile 源文件
 * @param dstfile 目的文件
 * @throws IOException
 */
private static void copyfile(File srcfile, File dstfile) throws IOException {
    BufferedInputStream br = new BufferedInputStream(new FileInputStream(srcfile));
    BufferedOutputStream bw = new BufferedOutputStream(new FileOutputStream(dstfile));

    byte[] bys = new byte[1024];
    int len;
    while ((len = br.read(bys)) != -1) {
        bw.write(bys, 0, len);
    }

    bw.close();
    br.close();
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值