`
miaoge
  • 浏览: 110941 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类

【I/O流】把一个文件夹里的所有文件包括文件夹 一并原样拷贝到另一个目录中

阅读更多

该文件夹下有子文件夹(子文件夹里又有文件)、文件(包括图片、文本文件)···

/**
 * 把一个文件夹里的所有文件包括文件夹 一并原样拷贝到另一个目录中; 
 *@author 小苗
 */
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class CopyDir001 {

	private  File dirFrom;
	private  File dirTo;

	public CopyDir001(File dirFrom, File dirTo) {
		super();
		this.dirFrom = dirFrom;
		this.dirTo = dirTo;
	}
	// 目标路径创建文件夹
	public void listFileInDir(File file) {
		File[] files = file.listFiles();
		for (File f : files) {
			String tempfrom = f.getAbsolutePath();    //源路径
			String tempto = tempfrom.replace(dirFrom.getAbsolutePath(),
					dirTo.getAbsolutePath()); // 把前面部分路径名替换为 目标路径名
			if (f.isDirectory()) {
				File tempFile = new File(tempto);
				tempFile.mkdirs();           //创建空文件夹
				listFileInDir(f);         //递归调用
			} else {
				System.out.println("源文件:" + tempfrom);
				System.out.println("目标点:" + tempto);
				copy(tempfrom, tempto);
			}
		}
	}
	/**
	 * 文件拷贝方法
	 */
	public void copy(String from, String to) {
		try {
			InputStream in = new FileInputStream(from);
			OutputStream out = new FileOutputStream(to);

			byte[] buff = new byte[1024];
			int len = 0;
			while ((len = in.read(buff)) != -1) {
				out.write(buff, 0, len);
			}
			in.close();
			out.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		File fromfile = new File("e:\\peixun\\test");// 源文件夹
		File tofile = new File("e:\\JavaZiliao\\peixun");// 目标

		CopyDir001 copy = new CopyDir001(fromfile,tofile);
		copy.listFileInDir(fromfile);

	}
}

 

分享到:
评论

相关推荐

    复制目录下的文件和子目录到新目录

    “拷贝”是指将一个文件或目录的内容复制到另一个位置,而不改变原有位置的内容。当我们拷贝一个目录时,不仅包括该目录内的文件,还包括所有嵌套的子目录及其内容。 “递归”是一种算法或程序设计技术,它通过调用...

    遍历文件夹,再复制文件,Java源代码

    例如url=c:\文件夹1,而文件夹1中包含多个文件夹,现在程序要求遍历所有文件夹找出文件夹中的文件,然后原样保存到D盘的文件夹中去。原样是指只需文件夹中文件过去就可以,不用再还原文件夹。从键盘键入文件夹

     ResetFoldersTime 是专门针对这一情形而开发的,它的主要功能是根据各文件夹内部各文件创建/修改时间的早晚,重新批

    在使用专门的软件恢复数据时,文件的创建/修改时间往往能正确保留下来,但文件夹的创建/修改时间,似乎还没有哪款数据恢复软件能原样保留,而是被设置为数据恢复时的时间,这就带来一个尴尬的后果:所有的文件似乎都...

    蓝奏云批量下载,批量上传,目录下载等

    3. 批量下载链接:在选中多个文件后,通常会有“打包下载”或“批量下载”的选项出现,点击它会生成一个包含所有选定文件的下载链接。 4. 下载管理器:为了更高效地批量下载,推荐使用支持批量任务的下载管理器,如...

    一键删除和恢复WIN10此电脑上面的6个文件夹

    在Windows 10操作系统中,"此电脑"(也称为"我的电脑"或"文件资源管理器")是用户访问和管理计算机上所有文件和文件夹的主要入口。它包括几个预定义的文件夹,如“视频”、“图片”、“文档”、“下载”、“音乐”和...

    放在public文件夹下的静态文件

    总之,“放在public文件夹下的静态文件”这一描述指的是在Web项目中,将像`videojs`这样的静态资源放置在一个公共可访问的目录下,以便于Web服务器在运行时能够为客户端提供这些资源。这样做不仅方便了开发,也优化...

    【android开发】解析assets文件夹下XML资源文件

    在"PullParseXml"这个示例中,开发者可能创建了一个名为"PullParseXml.java"的类,该类包含了一个方法,专门用来从assets目录下的XML文件中提取数据。这个方法可能接受XML文件名作为参数,然后使用上述步骤进行解析...

    安卓SD卡中各个文件夹功能的详尽说明

    随着时间的推移,SD卡上会出现各种各样的文件夹,每个文件夹都有其特定的功能和用途。以下是对标题和描述中提到的一些主要文件夹的详尽说明: 1. `.android_secure`:这是官方应用转移到SD卡时产生的文件夹,存放了...

    绿色文件夹加密软件,快速加密文件夹

    文件夹加密是一种常见的数据安全措施,它通过特定的加密算法,将文件夹内的所有内容转化为密文,只有输入正确的解密密码,才能恢复原样,查看和使用其中的文件。这在保护敏感数据、防止非法访问和数据泄露方面有着...

    资料文件夹转移工具3.6.2

    这类工具通常是为了在更换电脑、系统升级或者整理硬盘空间时,能够快速安全地将用户的个人设置、文档、图片、音乐、视频等重要数据从一个位置转移到另一个位置。 描述中提到的同样为 "资料文件夹转移工具3.6.2",这...

    隐藏文件夹方法.doc

    在日常生活中,每个人或多或少会有一些不愿被他人轻易接触到的文件或文件夹。为了保护个人隐私,除了安装专门的隐藏软件外,还有许多简单实用的手法可以达到目的。本文将详细介绍《隐藏文件夹方法.doc》文档中提及的...

    BAT批处理脚本-文件夹伪装.zip

    在“文件夹伪装.zip”这个压缩包中,包含了一个名为“文件夹伪装.bat”的批处理脚本,这个脚本主要用于改变文件夹的外观,使其看起来像是一个不同的文件类型,从而实现对文件夹的伪装。下面我们将详细探讨批处理脚本...

    001_android文件夹分层结构

    "001_android文件夹分层结构"很可能是一个示例或教程,用于帮助开发者了解Android项目的目录结构。这个结构通常被称为“面包屑树分支结构”,这可能是指在Android Studio中显示的项目视图,它类似文件系统的面包屑...

    timeout_folder_rescue:Bash 脚本,将源文件夹的内容逐个文件复制到目标文件夹。 如果文件复制挂起,该文件将被跳过并记录

    描述Bash 脚本,将源文件夹的内容逐个文件复制到目标文件夹。 如果单个文件的复制过程挂起超过 10 秒,或返回输入/输出错误,脚本将跳过此文件并记录其名称。 如果目标文件已存在,脚本将跳过文件而不记录其名称。 ...

    真正无锁IOCP回射服务器(IOCP Tcp EchoServer)

    标题中的“真正无锁IOCP回射服务器(IOCP Tcp EchoServer)”指的是一个使用了I/O完成端口(I/O Completion Port, IOCP)技术的TCP服务器,它实现了回射(Echo)服务,即接收到客户端发送的数据后,原样返回给客户端...

    hash(哈希值计算)hjjm_2708(宏杰文件夹加密)

    "hjjm_2708"可能是指一个特定的哈希值计算软件或算法,而“宏杰文件夹加密”则表明这个工具可能包含了一种加密功能,专门用于保护用户的文件夹安全。 哈希函数的基本特性包括: 1. **单向性**:哈希函数是不可逆的...

    python2.7实现复制大量文件及文件夹资料

    本文将详细介绍两种不同的复制文件方法:一种是将指定目录下的所有文件及子目录原样复制到目标目录,另一种是筛选特定格式的文件进行复制,下面将对这两种方法进行详细说明。 ### 方法一:原样复制文件及子目录 在...

    不用软件隐藏文件夹方法.docx

    在Windows操作系统中,有时我们可能需要隐藏某些文件夹以保护隐私或防止他人误操作。本文提供了两种无需使用额外软件就能隐藏文件夹的方法。 方法一:通过更改文件夹名称和图标来伪装隐藏 1. 首先,创建一个新的...

    文件夹加密-带注册码

    在IT领域,文件加密是一种非常重要的安全措施,用于保护个人或组织的重要数据不被未经授权的访问、使用或泄露。在给定的“文件夹加密-带注册码”主题中,我们可以深入探讨几个关键知识点: 1. 文件夹加密:文件夹...

    输入源文件和目的文件名,实现文件原样压缩加密复制

    输入源文件名和目的文件名,实现源文件的原样复制,压缩复制和加密复制

Global site tag (gtag.js) - Google Analytics