`
hyxw5890
  • 浏览: 35656 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java实现文件夹下所有文件的拷贝

阅读更多
无聊写了一个实现文件-文件,文件夹-文件夹(包括源文件夹所有文件),文件-文件夹的拷贝的实用类.


import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;

public class Util {
	public static int buffer_size = 2048;

	private static void doCopy(File src, File dst) {
		if (src.isFile()) {
			try {
				copyFile(src, dst);

			} catch (IOException e) {
				e.printStackTrace();
			}
		} else {
			File dir = copyDirectory(src, dst);
			File[] files = src.listFiles();
			if (files.length == 0) {

			} else {
				for (File file : files) {
					doCopy(file, dir);
				}
			}
		}
	}

	public static void copy(File src, File dst) throws IOException {
		if (!src.exists() || !dst.exists())
			throw new FileNotFoundException();
		else if (src.isFile() && dst.isFile())
			copy(new FileReader(src), new FileWriter(dst));
		else if (src.isDirectory() && (!dst.isDirectory()))
			throw new IllegalArgumentException("Destination should be a directory!");
		else {
			doCopy(src, dst);
		}
		
	}

	private static void copyFile(File src, File dst) throws IOException {
		File file = new File(dst, src.getName());
		copy(new FileReader(src), new FileWriter(file));
	}

	private static File copyDirectory(File src, File dst) {
		File file = new File(dst, src.getName());
		file.mkdir();
		return file;
	}

	private static int copy(Reader in, Writer out) throws IOException {
		int byteCount = 0;
		try {
			int bytesReader = -1;
			char[] buffer = new char[buffer_size];

			while ((bytesReader = in.read(buffer)) != -1) {
				out.write(buffer, 0, bytesReader);
				byteCount += bytesReader;
			}
			out.flush();
		} finally {
			in.close();
			out.close();
		}
		return byteCount;
	}

}

1
0
分享到:
评论
4 楼 kjj 2009-02-04  
楼上比较精辟
3 楼 hyxw5890 2009-01-25  
sniciq 写道

为什么不用nio,里面有管道操作!

我是太无聊才写的,我错了。。
2 楼 sniciq 2009-01-25  
为什么不用nio,里面有管道操作!
1 楼 liujunsong 2009-01-25  
建议你可以调用一下 DOS命令:
xcopy XXXX XXXX /S/Y

相关推荐

    Java利用文件输入输出流实现文件夹内所有文件拷贝到另一个文件夹

    Java语言提供了多种方式来实现文件夹内所有文件拷贝到另一个文件夹,本文将介绍使用文件输入输出流实现文件夹内所有文件拷贝到另一个文件夹的方法。 一、基本目标 使用Java完成以下操作:把一个文件夹内的所有文件...

    用java实现的文件和文件夹拷贝和转移

    用java实现的文件和文件夹拷贝和转移

    java实现文件夹同步/对比功能

    纯java实现,nio复制。其中文件夹复制同步使用channel实现,文件夹的交并集对比使用lamda实现,文件的同步比对逻辑通过比对文件的大小、日期、修改时间等实现

    Java实现Linux的远程拷贝

    一旦连接建立成功,我们可以使用`session`对象的`execCommand()`方法执行Linux命令,比如`cp`或`rsync`进行文件拷贝。例如: ```java Channel channel = session.openChannel("exec"); ((ChannelExec) channel)....

    java文件夹的拷贝

    `copyFile.java`源码文件为我们提供了一个基础的实现,通过理解和扩展这个代码,我们可以根据实际需求构建更强大、更高效的文件拷贝功能。在开发过程中,理解并掌握这些核心概念和方法,对于任何Java开发者来说都是...

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

    在Java编程语言中,复制一个目录下的所有文件到另一个目录是一项常见的任务,特别是在处理文件系统操作时。这个过程涉及到文件的遍历、读取和写入。以下将详细讲解如何实现这一功能,以及相关的Java API和技术点。 ...

    java 实现文件夹的拷贝实例代码

    总结起来,Java中实现文件夹拷贝的基本思路是遍历源文件夹中的所有文件,逐个进行文件复制。同时,根据实际情况处理可能遇到的异常,以确保程序的健壮性。通过理解并扩展这个实例代码,我们可以构建更复杂、适应不同...

    JAVA实现GUI文件管理器

    3、实现文件拷贝和文件夹拷贝(文件夹拷贝指深度拷贝,包括所有子目录和文件)。 4、实现指定文件的加密和解密。 5、实现指定文件和文件夹的压缩。 6、实现压缩文件的解压。 7、文件管理器具有图形界面。 建议使用...

    Java拷贝文件夹和删除文件夹代码实例

    本文将详细介绍Java拷贝文件夹和删除文件夹的代码实例,包括文件夹的拷贝和删除整个文件夹的实现方法。 一、文件夹的拷贝 在Java中,拷贝文件夹需要使用File类和IO流。下面是一个基本的文件夹拷贝方法: ```java ...

    java 文件及文件夹 操作源码

    此文件支持对文件及文件夹结构的多种操作,其中包括: 读取文本文件内容 遍历指定路径下指定后缀的...删除指定文件夹下所有文件 复制单个文件 复制整个文件夹的内容 仅仅拷贝指定路径下的文件夹结构 移动文件 移动目录

    读取文件夹中xml文件

    循环遍历文件夹,并且用I/O流读取该文件夹内的xml文件,并且输出到另一个文件夹下

    java管理hdfs文件和文件夹项目hadoop2.4

    本文将深入探讨使用Java管理HDFS文件和文件夹的关键知识点,特别是基于Hadoop 2.4版本。 首先,理解HDFS的基础概念至关重要。HDFS是一种分布式文件系统,设计用于跨大量廉价硬件节点存储和处理大数据。它遵循主从...

    java 文件夹复制拷贝

    文件夹复制的基本思路是遍历目标文件夹下的所有文件和子文件夹,然后逐个进行复制。 1. **创建`File`对象** 使用`File`类创建代表源文件夹和目标文件夹的对象。例如: ```java File sourceDir = new File(...

    java命令行文件管理器

     3、实现文件拷贝和文件夹拷贝(文件夹拷贝指深度拷贝,包括所有子目录和文件)。  4、实现指定文件的加密和解密。  5、实现多个文件的压缩和解压缩。  6、实现一个大文件的分割和合并。 7、实现把项目导出为可...

    FileUploadUtil.java(文件上传工具类)

    上传文件,上传导入文件到path文件夹下,判断图片大小是否超过要求,上传多张图片到服务器,上传图片到服务器,上传文件(在指定目录下创建年月日目录),上传导入文件到temp文件夹下,删除指定文件夹下所有文件,...

    java swing 苹果主题文件管理器

    3、实现文件拷贝和文件夹拷贝(文件夹拷贝指深度拷贝,包括所有子目录和文件)。 4、实现指定文件的加密和解密。 5、实现指定文件和文件夹的压缩。 6、实现压缩文件的解压。 7、文件管理器具有图形界面。

    java ftp服务器copy命令实现

    java程序调用API 实现在ftp内文件夹和文件的拷贝,ftp服务器之间的文件和文件夹的拷贝 欢迎来群:41229007 QQ:119346711讨论

    ava怎么实现找到特定文件夹下的所有目录下的一个文件,并拷贝到指定的目录

    ava怎么实现找到特定文件夹下的所有目录下的一个文件,并拷贝到指定的目录

    java合并两个文件夹内容

    标题"java合并两个文件夹内容"指出我们要做的是将一个文件夹的所有内容(包括子文件夹和文件)复制到另一个文件夹,并且如果目标文件夹存在同名文件,需要覆盖它。这个过程可以通过递归遍历源文件夹并逐个复制文件来...

    多文件内容拷贝到一个文件上(解决中文乱码) java实现

    使用java IO技术实现将多文件中的内容集中到一个文件上 只需输入一个文件夹的路径和目的路径即可完成文件拷贝复制 并且解决了中文乱码的问题s

Global site tag (gtag.js) - Google Analytics