Java I/O 实现文件夹的复制

这是一个Java程序,实现了复制文件及文件夹的功能。`filecopy`方法用于复制单个文件,而`foldercopy`方法递归地复制整个文件夹及其包含的所有文件和子文件夹。该程序在处理文件操作时捕获并打印了可能的IOException。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将一个文件夹下所有文件,包括子文件夹,复制到另一个文件夹内。

class FileCopy
{


    public void filecopy(String f1, String f2)//将f1中的内容复制到f2
    {
        File F1 = new File(f1);
        File F2 = new File(f2);


        try(
                FileInputStream fi = new FileInputStream(F1);
                FileOutputStream fo = new FileOutputStream(F2);
        )
        {
            byte[] b = new byte[(int)F1.length()];
            fi.read(b);
            fo.write(b);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }


    }

    public void foldercopy(String f1,String d2)//复制全部f1下的文件(及子文件夹和其中的全部文件)到d2下
    {

        File f = new File(d2);
        File F1 = new File(f1);
        if(!f.exists())
        {
            f.mkdir();
        }
        File[] files = F1.listFiles();
        for(File F:files)
        {
            if(F.isFile())
            {
                System.out.println(F.getAbsolutePath());
                this.filecopy(F.getAbsolutePath(),d2+"\\"+F.getName());
            }
            if(F.isDirectory())
            {
                foldercopy(F.getAbsolutePath(),d2+"\\"+F.getName());
            }
        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值