如何在Java中复制目录

这是将目录及其所有子目录和文件复制到新目标目录的示例。 该代码充满了注释并且不言自明,如果您需要更多说明,请给我注释。

将文件夹“ c:\\ mkyong- ”及其子目录和文件复制到另一个新文件夹“ c:\\ mkyong-new ”。

package com.mkyong.file;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class CopyDirectoryExample
{
    public static void main(String[] args)
    {	
    	File srcFolder = new File("c:\\mkyong");
    	File destFolder = new File("c:\\mkyong-new");
    	
    	//make sure source exists
    	if(!srcFolder.exists()){

           System.out.println("Directory does not exist.");
           //just exit
           System.exit(0);

        }else{

           try{
        	copyFolder(srcFolder,destFolder);
           }catch(IOException e){
        	e.printStackTrace();
        	//error, just exit
                System.exit(0);
           }
        }
    	
    	System.out.println("Done");
    }
    
    public static void copyFolder(File src, File dest)
    	throws IOException{
    	
    	if(src.isDirectory()){
    		
    		//if directory not exists, create it
    		if(!dest.exists()){
    		   dest.mkdir();
    		   System.out.println("Directory copied from " 
                              + src + "  to " + dest);
    		}
    		
    		//list all the directory contents
    		String files[] = src.list();
    		
    		for (String file : files) {
    		   //construct the src and dest file structure
    		   File srcFile = new File(src, file);
    		   File destFile = new File(dest, file);
    		   //recursive copy
    		   copyFolder(srcFile,destFile);
    		}
    	   
    	}else{
    		//if file, then copy it
    		//Use bytes stream to support all file types
    		InputStream in = new FileInputStream(src);
    	        OutputStream out = new FileOutputStream(dest); 
    	                     
    	        byte[] buffer = new byte[1024];
    	    
    	        int length;
    	        //copy the file content in bytes 
    	        while ((length = in.read(buffer)) > 0){
    	    	   out.write(buffer, 0, length);
    	        }
 
    	        in.close();
    	        out.close();
    	        System.out.println("File copied from " + src + " to " + dest);
    	}
    }
}

结果

Directory copied from c:\mkyong  to c:\mkyong-new
File copied from c:\mkyong\404.php to c:\mkyong-new\404.php
File copied from c:\mkyong\footer.php to c:\mkyong-new\footer.php
File copied from c:\mkyong\js\superfish.css to c:\mkyong-new\js\superfish.css
File copied from c:\mkyong\js\superfish.js to c:\mkyong-new\js\superfish.js
File copied from c:\mkyong\js\supersubs.js to c:\mkyong-new\js\supersubs.js
Directory copied from c:\mkyong\images  to c:\mkyong-new\images
File copied from c:\mkyong\page.php to c:\mkyong-new\page.php
Directory copied from c:\mkyong\psd  to c:\mkyong-new\psd
...
Done

翻译自: https://mkyong.com/java/how-to-copy-directory-in-java/

Keil v5.11给STM32烧录程序记录 1)安装KeilMDK511 2)安装ST Link下载器驱动 3)打开Keil v5,加载工程文件 4)load pack(Keil.STM32F1xx_DFP.1.1.0和Keil.STM32F0xx_DFP.1.2.0) 5)编译程序- 0 Error(s), 0 Warning(s). 6)烧录程序 ... 阅读详情

相关推荐

java实现一个目录下全部文件复制到另一目录

java实现一个目录下全部文件复制到另一目录。过程主要是 循环第一个目录下的文件,然后输出流到另一个目录

java如何将目录复制_java将一个目录下的所有数据复制到另一个目录

本文实例为大家分享了java将一个目录下的所有数据复制到另一个目录下的具体代码,供大家参考,具体内容如下/*将"C:\\JavaProducts\\Source"下的所有数据复制到"C:\\Target"下*/import java.io.*;public class JavaCopyDemo{final static String SOURCESTRING = "C:\\JavaProducts...

weixin_32605973的博客 612

Java中实现复制文件或文件夹

Java中实现复制文件或文件夹Java中实现复制文件或文件夹Java中实现复制文件或文件夹

Java实现目录复制(包含此目录下的所有文件与目录

将指定目录复制到指定路径下:1、复制目录内的子目录以及子文件的结构和内容与源目录相同。2、目录名与源目录名可能相同,也可能不同。

lkllkl123123的博客 5449

java实现拷贝目录以及目录下文件

java实现拷贝目录以及目录下文件 创建一个File对象 /也可以说是确定一个文件对象 File f1 = new File(“D:\file”); //就相当于获取了这个文件对象,不管这个对象是否真实存在。 对文件操作,所以方法里调用的都是File对象 如果方法中不加static,会报这个错误。但如果main方法声明里不加static,下面的方法里也不用加,不会报错。 非静态方法的FileCopy(java.io.File文件, java.io.File文件)无法

Sunda_y的博客 4988

Java 实现文件复制及文件夹复制

Java中,有多种方法可以实现文件的复制。以下是几种常用的方式:使用字节流进行复制:通过FileInputStream和FileOutputStream分别创建源文件和目标文件的输入输出流,然后通过循环读取源文件内容,并将数据写入目标文件中进行复制。可以使用字节数组作为缓冲区,提高复制效率。需要手动处理流的打开、关闭和异常处理。使用字符流进行复制:通过FileReader和FileWriter分别创建源文件和目标文件的字符流,然后通过循环读取源文件内容,并将数据写入目标文件中进行复制

qq_57570052的博客 6949

Java复制文件或目录方法

【代码】Java复制文件或目录方法。

//Case 2645

Java编程实现目录复制功能 将一个目录下的所有文件复制到另外一个目录

编程实现目录复制功能,尝试将一个目录下的所有文件复制到另外一个目录。 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FilenameFilter; class FF implements FilenameFilter{ public boolean accept(File dir, String name) {

不爱赖床的懒虫博客 2186

复制一个目录下的所有文件到另外一个目录Java实现)

首先说说我的思路, 要复制一个目录下的所有文件到另外的一个目录下,我们不知道目录下的结构是怎么样的,也不知道目录有多少层,文件有多少个,这样我们会想用循环,for! 但是我们不知道有多少层,所以循环不能够满足我们的需求! 学过递归的人,都知道这个用递归的思想可以很好解决这个问题的。        递归这里我就不说是什么东西了,这个自己可以百度,谷歌!             现在说说我的实现

yunliupan的专栏 5547

Java复制文件或目录

更多内容,请查看博客原文:Java复制文件或目录 https://finolo.gy/2020/01/Java复制文件或目录/ 利用java复制文件或目录,要么使用递归的方法,要么使用walkFileTree的方法。大家可以比较一下。 package gy.finolo; import java.io.IOException; import java.io.InputStream; import...

footrip的博客 257

Java实现目录拷贝

废话不多说,上代码 copyDir()【目录拷贝】 /** * 递归实现目录拷贝 * @param srcFile 源目录 * @param descFile 目标目录 * @throws IOException */ private static void copyDir(File srcFile, File descFile) throws IOException { // 获取当前源目录下子目录 F

weixin_48485216的博客 1312

java迁移拷贝克隆目录下的所有的子文件和子目录到另一个地方

【代码】java迁移目录下的所有的子文件和子目录到另一个地方。

tiger_Angle 373

java:实现复制文件夹(附带源码)

java:实现复制文件夹(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1232

java复制文件的4种方式及拷贝文件到另一个目录下与删除单个文件和删除整个文件夹

java复制文件的4种方式及拷贝文件到另一个目录下与删除单个文件和删除整个文件夹

胡云峰的博客 5596

Java如何实现文件夹/目录复制

Java基本使用,稍微带点逻辑但不多

di_huang_xia的博客 672

java 把文件从一个目录复制到另一个目录

java 把文件从一个目录复制到另一个目录

LEIFEI0123的博客 2932

JAVA实现拷贝目录目录中的文件

首先我们要实现的是将一个目录及他的子目录还有目录中含有的文件拷贝到另一个目录下,目标目录中的文件及其目录要和源目录保持一致。 我们可以先梳理下思路,第一步我们先将源目录和目标目录创建出来,然后通过调用copy方法进行实现,具体实现方法我们在copy方法中进行是实现。 在copy中需要传递源目录及目标目录。 copy方法中的具体思路如下: 首先我们先获取源目录中的所有子文件,使用listFiles()方法,在得到源目录的所有子目录后,我们使用一个FILE数组进行接收,然后进行遍历,在遍历时如果遍历的是一个目录

Kirihara_Yukiho的博客 1036

Java拷贝目录

Java 拷贝目录

m0_66918076的博客 808

使用Java的File类实现目录拷贝

目录拷贝案例:使用File类来实现目录的拷贝,使用字节输入输出流来实现文件的copy

Ambitious3376的博客 3058

Java复制目录(包含目录和文件)

使用FileInPutStream,FileOutPutStream复制目录,这是学习Java的IO时,老师给出的题目。自己没有做出来,根据老师的答案手打了一遍加深一下印象!

cflsup的博客 757

VeriCode解码Demo(C#)

通过调用官方提供的DLL函数接口进行解码识别,C#完整源代码,识别速度极快!填充版解码结果请查阅源代码说明。

上一篇: JSF 2 convertDateTime示例
下一篇: Struts 2推标签示例
cyan20115
博客等级 码龄12年 193粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值