该文件夹下有子文件夹(子文件夹里又有文件)、文件(包括图片、文本文件)···
/**
* 把一个文件夹里的所有文件包括文件夹 一并原样拷贝到另一个目录中;
*@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);
}
}
分享到:
相关推荐
“拷贝”是指将一个文件或目录的内容复制到另一个位置,而不改变原有位置的内容。当我们拷贝一个目录时,不仅包括该目录内的文件,还包括所有嵌套的子目录及其内容。 “递归”是一种算法或程序设计技术,它通过调用...
例如url=c:\文件夹1,而文件夹1中包含多个文件夹,现在程序要求遍历所有文件夹找出文件夹中的文件,然后原样保存到D盘的文件夹中去。原样是指只需文件夹中文件过去就可以,不用再还原文件夹。从键盘键入文件夹
在使用专门的软件恢复数据时,文件的创建/修改时间往往能正确保留下来,但文件夹的创建/修改时间,似乎还没有哪款数据恢复软件能原样保留,而是被设置为数据恢复时的时间,这就带来一个尴尬的后果:所有的文件似乎都...
1、支持批量下载列表文件中的所有文件到每个文件指定的目录下。 2、支持TXT文件导入。 3、支持TXT文件拖入。 4、支持下载错误文件筛选导出。 5、支持单文件多线程下载。 6、其它功能还在开发中。 7、支持断点续传。 ...
3. 批量下载链接:在选中多个文件后,通常会有“打包下载”或“批量下载”的选项出现,点击它会生成一个包含所有选定文件的下载链接。 4. 下载管理器:为了更高效地批量下载,推荐使用支持批量任务的下载管理器,如...
在Windows 10操作系统中,"此电脑"(也称为"我的电脑"或"文件资源管理器")是用户访问和管理计算机上所有文件和文件夹的主要入口。它包括几个预定义的文件夹,如“视频”、“图片”、“文档”、“下载”、“音乐”和...
总之,“放在public文件夹下的静态文件”这一描述指的是在Web项目中,将像`videojs`这样的静态资源放置在一个公共可访问的目录下,以便于Web服务器在运行时能够为客户端提供这些资源。这样做不仅方便了开发,也优化...
在"PullParseXml"这个示例中,开发者可能创建了一个名为"PullParseXml.java"的类,该类包含了一个方法,专门用来从assets目录下的XML文件中提取数据。这个方法可能接受XML文件名作为参数,然后使用上述步骤进行解析...
随着时间的推移,SD卡上会出现各种各样的文件夹,每个文件夹都有其特定的功能和用途。以下是对标题和描述中提到的一些主要文件夹的详尽说明: 1. `.android_secure`:这是官方应用转移到SD卡时产生的文件夹,存放了...
总的来说,了解如何显示和隐藏Windows中的隐藏文件和文件扩展名是提高系统管理效率的一个关键技能。通过这个压缩包提供的批处理文件,用户可以更加轻松地实现这一目的。记住,尽管快捷方式方便,但理解和掌握基础...
文件夹加密是一种常见的数据安全措施,它通过特定的加密算法,将文件夹内的所有内容转化为密文,只有输入正确的解密密码,才能恢复原样,查看和使用其中的文件。这在保护敏感数据、防止非法访问和数据泄露方面有着...
这类工具通常是为了在更换电脑、系统升级或者整理硬盘空间时,能够快速安全地将用户的个人设置、文档、图片、音乐、视频等重要数据从一个位置转移到另一个位置。 描述中提到的同样为 "资料文件夹转移工具3.6.2",这...
在“文件夹伪装.zip”这个压缩包中,包含了一个名为“文件夹伪装.bat”的批处理脚本,这个脚本主要用于改变文件夹的外观,使其看起来像是一个不同的文件类型,从而实现对文件夹的伪装。下面我们将详细探讨批处理脚本...
标题"批量更改文件内的文件"指的是对一个文件夹内的所有文件进行统一的修改,改变它们的内容,但不改动文件的名称和扩展名。这样的操作可以极大地提高工作效率,避免手动逐个文件进行修改的繁琐过程。 描述中提到的...
Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) A3L:Authorware 3.x库文件 A4L:Authorware 4.x库文件 A5L:Authorware 5.x库文件 A3M,A4M:Authorware Macintosh...
"001_android文件夹分层结构"很可能是一个示例或教程,用于帮助开发者了解Android项目的目录结构。这个结构通常被称为“面包屑树分支结构”,这可能是指在Android Studio中显示的项目视图,它类似文件系统的面包屑...
描述Bash 脚本,将源文件夹的内容逐个文件复制到目标文件夹。 如果单个文件的复制过程挂起超过 10 秒,或返回输入/输出错误,脚本将跳过此文件并记录其名称。 如果目标文件已存在,脚本将跳过文件而不记录其名称。 ...
标题中的“真正无锁IOCP回射服务器(IOCP Tcp EchoServer)”指的是一个使用了I/O完成端口(I/O Completion Port, IOCP)技术的TCP服务器,它实现了回射(Echo)服务,即接收到客户端发送的数据后,原样返回给客户端...
非阻塞I/O允许在一个线程中处理多个连接,提高了系统的吞吐量。 2. **高度可定制的编码和解码器**:Netty 提供了一套强大的编码和解码框架,包括ByteBuf,它可以更有效地管理缓冲区,以及ChannelHandler,用于处理...