Java递归复制文件及目录(包含子目录及子文件)

本文介绍如何使用Java编程实现递归复制包括子目录和子文件在内的整个文件夹到目标位置,详细讲解copyFolder方法的实现逻辑。
摘要由CSDN通过智能技术生成

一个课程作业:
复制文件夹,实现如下方法,把源文件夹下所有的文件 复制到目标文件夹下(包括子文件夹)
public static void copyFolder(String srcFolder, String destFolder){
}

package FileExercise;

import java.io.*;


public class FileExercise_18 {
   
	public static void main(String[] args) {
   
		new FileExercise_18().copyFolder("E:/Java", "E:/test/test");
	}
    public void copyFolder(String srcPath, String destPath){
   
        File srcFile = new File(srcPath);
        //在新目录下按照原树目录路径创建新树目录
        destPath = destPath + File.separator+srcFile
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java的File类和递归函数来实现复制某个目录及其包含文件到指定的目录。代码如下: ``` import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class CopyDirectory { public static void main(String[] args) { String sourceDir = "C:/sourceDir"; // 源目录 String targetDir = "C:/targetDir"; // 目标目录 File source = new File(sourceDir); File target = new File(targetDir); try { copyDirectory(source, target); System.out.println("目录复制成功!"); } catch (IOException e) { System.out.println("目录复制失败:" + e.getMessage()); } } public static void copyDirectory(File source, File target) throws IOException { if (source.isDirectory()) { if (!target.exists()) { target.mkdirs(); } String[] fileList = source.list(); for (String fileName : fileList) { File srcFile = new File(source, fileName); File destFile = new File(target, fileName); copyDirectory(srcFile, destFile); } } else { FileInputStream inStream = new FileInputStream(source); FileOutputStream outStream = new FileOutputStream(target); byte[] buffer = new byte[1024]; int length; while ((length = inStream.read(buffer)) > 0) { outStream.write(buffer, 0, length); } inStream.close(); outStream.close(); } } } ``` 在代码中,设置源目录和目标目录,并创建File对象。然后调用copyDirectory函数,该函数递归地遍历源目录下的所有文件子目录,如果是目录则创建目录,并继续递归遍历该目录下的所有文件子目录,如果是文件则进行复制操作。最后,在主函数中进行调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值