Java 目录和文件的复制

本文介绍了一个使用Java实现的目录及子目录、文件复制的方法。通过递归的方式复制源目录下的所有内容到目标目录中,包括文件和子文件夹。该方法使用了标准的Java IO操作来确保文件内容被正确复制。

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

1.复制一个目录及其子目录、文件到另外一个目录

//复制一个目录及其子目录、文件到另外一个目录

public void copyFolder(File src, File dest) throws IOException {

  if (src.isDirectory()) {

  if (!dest.exists()) {

  dest.mkdir();

  }

  String files[] = src.list();

  for (String file : files) {

  File srcFile = new File(src, file);

  File destFile = new File(dest, file);

  // 递归复制

  copyFolder(srcFile, destFile);

  }

  } else {

  InputStream in = new FileInputStream(src);

  OutputStream out = new FileOutputStream(dest);

   

  byte[] buffer = new byte[1024];

   

  int length;

 

  while ((length = in.read(buffer)) > 0) {

  out.write(buffer, 0, length);

  }

  in.close();

  out.close();

  }

  }

 

  1. private void copyFolder(File src, File dest) throws IOException {
  2.  
    if (src.isDirectory()) {
  3.  
    if (!dest.exists()) {
  4.  
    dest.mkdir();
  5.  
    }
  6.  
    String files[] = src.list();
  7.  
    for (String file : files) {
  8.  
    File srcFile = new File(src, file);
  9.  
    File destFile = new File(dest, file);
  10.  
    // 递归复制
  11.  
    copyFolder(srcFile, destFile);
  12.  
    }
  13.  
    } else {
  14.  
    InputStream in = new FileInputStream(src);
  15.  
    OutputStream out = new FileOutputStream(dest);
  16.  
     
  17.  
    byte[] buffer = new byte[1024];
  18.  
     
  19.  
    int length;
  20.  
     
  21.  
    while ((length = in.read(buffer)) > 0) {
  22.  
    out.write(buffer, 0, length);
  23.  
    }
  24.  
    in.close();
  25.  
    out.close();
  26.  
    }
  27.  
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值