`
星夜的遐想
  • 浏览: 186893 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用Java程序实现文件夹的复制

阅读更多

文件的复制相信大家都有所了解,就不说了,下面分享下,如何将一个目录下的所有文件包括子文件夹复制到指定的目录中,下面我贴上代码,注释很清楚,你看了就应该明白了。

package testFile;
import java.io.*;
public class FileAndDirCopy {
	
	//注意:任何文件(包括图片,音乐,影视,压缩文件等等)复制都要用字节流,字符流只能复制txt文档;
	public static void main(String[] args) throws Exception {
		
		//复制开始时获得系统的当前时间
		long start =System.currentTimeMillis();//记录开始运行时间单位为毫秒;
		
		//要复制的目源(源目录)
		File from=new File("D:\\");
		
		//复制到的目录(目标目录)
		File to=new File("E:\\");
		
		System.out.println("正在复制,请稍后.......");
		
		//调用复制方法
		copy(from ,to);
		
		//复制结束时获得系统时间
		long end=System.currentTimeMillis();
		
		System.out.println("复制完成!!!");
		
		//从毫秒转成秒
		System.out.println("总费时:"+(end-start)/1000.0+"秒");
		
		
	}
	
	
	/**
	 * 
	 * @param from 要复制的目录
	 * @param to 复制到目录
	 * @throws Exception 
	 */
	public static void copy(File from,File to) throws Exception{
		
		//获得复制文件下下所有文件
		File []fs=from.listFiles();
		
		//遍历文件
		for(int i=0;i<fs.length ;i++){
			
			//如果是一个目录
			if(fs[i].isDirectory()){
				
				//获得目录的名字
				String dirname=fs[i].getName();
				
				//创建要生成目录的绝对路径
				String dirpath=to+"\\"+dirname;  
				
				File f=new File(dirpath);
				
				//创建一个目录
				f.mkdir();
				
				//调用复制文件夹方法
				copy(fs[i],f);
				
				
			}else{
				
				//获得文件名
				String filename=fs[i].getName();
				
				//获得的文件的绝对路径
				String filepath=to+"\\"+filename;
				
				//建好文件;
				File f=new File(filepath);
				
				//复制文件内容方法
				copyFile(fs[i],f); //将原文件的内容复制到新文件里来;
			}
		}
	}
	
	
	/**
	 *  //文件复制的方法
	 * @param from 要复制的文件
	 * @param to //复制到的文件
	 * @throws Exception
	 */
	public static void copyFile(File from ,File to) throws Exception{
		
		//构建一个文件输入流对象
		FileInputStream fin=new FileInputStream(from);
		
		//构建以个文件输出流对象
		FileOutputStream fout=new FileOutputStream(to);
		
		//缓冲输入流
		BufferedInputStream bin=new BufferedInputStream(fin);
		
		//缓存输出流
		BufferedOutputStream bout=new BufferedOutputStream(fout);
		
		//定义个字节数组,作为输入流和输出流的中介
		byte [] b=new byte[2048];
		
		//读入的字节长度如果为-1,说明没有内容了
	    int len=bin.read(b);
		while(len !=-1){
			
			//将字节数组写入输出流中
			bout.write(b,0,len);
			len=bin.read(b);
		}
		
		//关闭流,注意顺序
		bout.close();
		fout.close();
		bin.close();
		fin.close();
	}
	

}

 

分享到:
评论
1 楼 lily_better 2014-02-24  
用到了,很好!谢谢~

相关推荐

    java实现文件夹复制

    标题“java实现文件夹复制”所指的就是使用Java代码来复制一个文件夹及其所有内容。这个过程通常涉及到递归,因为文件夹可能包含子文件夹,而子文件夹又可能有更多子文件夹和文件。以下是实现这个功能的一种基本步骤...

    java文件夹及文件复制

    在Java编程语言中,文件和文件夹的复制是一项常见的任务,尤其在系统迁移、数据备份或者软件部署等场景中。本教程将详细讲解如何使用...通过理解这些概念和实践,你将能够有效地在Java程序中处理文件和目录的复制任务。

    java中实现复制文件和文件夹

    在Java编程语言中,复制文件和文件夹...总的来说,Java中复制文件和文件夹涉及到文件I/O操作,可以通过使用基本的流类或`Files`类来实现。在处理复杂文件系统操作时,确保正确处理边界条件和异常,以保证程序的健壮性。

    java 文件夹复制拷贝

    在Java编程中,文件夹复制是一项常见的操作,特别是在系统备份、数据迁移或者程序部署等场景。本篇将详细讲解如何实现文件夹的复制,并在复制完成后删除原文件夹。我们将基于给定的`FileCopy.java`文件来探讨相关...

    Java程序_复制文件.jar

    Java程序“Java程序_复制文件.jar”是一个基于Java平台的实用工具,主要目的是演示如何在Java中实现文件的复制和移动操作。这个程序对于正在学习Java输入/输出(IO)和Swing GUI库的学生来说是一个很好的参考实例。...

    运用java压缩文件夹并备份至目标文件夹

    本文将详细讲解如何运用Java来实现文件夹的压缩,并将其备份到目标文件夹。首先,我们需要了解Java中用于处理压缩文件的核心库——`java.util.zip`。 在Java中,我们可以使用`ZipOutputStream`类来创建ZIP压缩文件...

    java复制文件及复制文件夹

    文件夹可能包含多个子文件和子文件夹,我们需要遍历它们并将每个文件或文件夹复制到新位置。这里是一个基本的实现: ```java import java.io.*; import java.nio.file.Files; import java.nio.file.Path; import ...

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

    总结来说,Java实现一个目录下全部文件复制到另一目录涉及的主要知识点有: 1. `java.io.File`类的使用,包括`listFiles()`方法。 2. 使用`java.nio`包中的`Files`和`Paths`类,特别是`Files.copy()`方法。 3. 文件...

    java简单的文件复制粘贴

    Java 文件复制粘贴是指使用 Java 语言实现文件的复制和粘贴操作。在本节中,我们将介绍 Java 文件复制粘贴的实现方法。 文件复制粘贴的重要性 文件复制粘贴是计算机操作系统中的一种基本操作。它可以将文件从一个...

    文件夹复制功能(将一个文件复制到另外目录下)

    在编程环境中,如Java、Python、C#或Node.js,都有对应的API或库函数来实现文件夹复制。以Python为例,可以使用`shutil`模块的`copytree()`函数。这个函数接受源目录和目标目录作为参数,然后递归地复制整个目录结构...

    JAVA SMB共享文件夹操作文件jar支持smb2、smb3.rar

    此RAR压缩包包含了几个关键的库文件,它们使得Java程序能够实现对SMB2和SMB3协议的支持。 1. **bcprov-jdk15to18-169.jar**:这是Bouncy Castle加密库的一个版本,提供广泛的加密算法和PKI(Public Key ...

    JAVA 对文件夹操作

    本文详细介绍了Java中对文件夹的基本操作,包括复制、删除以及压缩等功能的实现。通过具体的代码示例,我们不仅能够了解其实现原理,还能在实际项目中灵活运用这些技术。掌握了这些基础操作后,开发者可以在面对更...

    JAVA复制文件夹

    在实际应用中,你需要根据具体需求扩展这个示例,以处理文件夹复制和异常情况。 总之,Java提供了丰富的API来处理文件和文件夹的复制。通过理解I/O流的工作原理,我们可以有效地实现这些功能。同时,注意异常处理和...

    Java实现Linux的远程拷贝

    本篇将详细探讨如何使用Java来实现Linux系统的远程拷贝功能。 首先,要实现Linux的远程拷贝,我们需要用到Java的SSH(Secure Shell)库,例如JSch。JSch是Java的一个开源库,提供了SSH2协议的实现,允许我们通过SSH...

    java合并两个文件夹内容

    在运行Java程序时,确保系统已经安装了对应版本的JRE是非常重要的,否则程序无法执行。 至于"标签:java 运维脚本",这表明这个任务的解决方案可以作为运维自动化的一部分。Java脚本由于其跨平台性和丰富的库支持,...

    同个文件夹复制到不同的文件夹中

    本例中,程序的主要功能是将一个文件夹(`D:/pic`)内的所有文件复制到多个指定的目标文件夹中。其基本流程如下: 1. **初始化源文件夹和目标文件夹**:通过 `File` 对象创建源文件夹和目标文件夹对象。 2. **检查...

    java 文件夹复制 图形化界面

    周期性检查文件更新并复制修改内容,可用作备份文件的小程序用,以myeclipse项目给出

    JAVA代码实现远程操作服务器文件

    JAVA代码实现远程操作服务器文件是指使用JAVA语言实现远程操作服务器文件的功能,实现FTP,共享文件夹操作。该功能可以实现远程服务器文件的上传、下载、复制、移动、删除等操作。 description: 该实现使用了...

    java 自动程序更新

    在Java程序中,可以设置一个特定的网络路径或者本地路径作为检查目录。程序会定期访问这个目录,查找是否有新的更新文件。 2. **程序运行目录**: 这是指应用程序实际运行的目录,通常包含可执行的Java类文件、...

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

    本篇文章将详细解释如何使用Java实现文件夹的拷贝实例代码。 首先,我们要了解Java中进行文件操作的基本类,即`java.io.File`和`java.io.FileInputStream`与`java.io.FileOutputStream`。`File`类用于表示文件和...

Global site tag (gtag.js) - Google Analytics