`
wxinpeng
  • 浏览: 590738 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

java copy 文件夹

阅读更多
/**
 * copy 文件夹
 */


import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyFile {
	private void copyFile(File source, File target) {// copy 文件
		FileInputStream inFile = null;
		FileOutputStream outFile = null;
		try {
			inFile = new FileInputStream(source);
			outFile = new FileOutputStream(target);
			byte[] buffer = new byte[1024];
			int i = 0;
			while ((i = inFile.read(buffer)) != -1) {
				outFile.write(buffer, 0, i);
			}
			inFile.close();
			outFile.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (inFile != null) {
					inFile.close();
				}
				if (outFile != null) {
					outFile.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

	// 处理目录
	public void copyDict(File source, File target) {
		File[] file = source.listFiles();// 得到源文件下的文件项目
		for (int i = 0; i < file.length; i++) {
			if (file[i].isFile()) {// 判断是文件
				File sourceDemo = new File(source.getAbsolutePath() + "/"
						+ file[i].getName());
				File destDemo = new File(target.getAbsolutePath() + "/"
						+ file[i].getName());
				this.copyFile(sourceDemo, destDemo);
			}
			if (file[i].isDirectory()) {// 判断是文件夹
				File sourceDemo = new File(source.getAbsolutePath() + "/"
						+ file[i].getName());
				File destDemo = new File(target.getAbsolutePath() + "/"
						+ file[i].getName());
				destDemo.mkdir();// 建立文件夹
				this.copyDict(sourceDemo, destDemo);
			}
		}// end copyDict

	}
}

 

分享到:
评论
8 楼 gmingsoft04 2008-12-08  
顺便贴一个别人写的:java删除文件及目录

引用
[b]public static void deleteFile(String filePath){
File f = new File(filePath);
if(f.exists() && f.isDirectory()){
File delFiles[]= f.listFiles();
for(int i = 0;i<delFiles.length;i++){
deleteFile(delFiles[i].getAbsolutePath());
}
}
f.delete();
}[/b]
7 楼 gmingsoft04 2008-12-08  
不好意思:
FileLenthWithKB()这个方法写错了
:)
	public static String FileLenthWithKB(File f)
	{
		long fileSize=f.length();
		if(fileSize<1024)
			return 1+"KB";
		else
			return fileSize/1024+"KB";		
	}


return 1+"KB";不是return 1l+"KB";
6 楼 gmingsoft04 2008-12-08  
文件的大小:file.length()
单位是:字节  (Bytes)
所以如果单位是KB的话,
则可以这样:

public static String FileLenthWithKB(File f)
{
long fileSize=f.length();
if(fileSize<1024)
return 1l+"KB";
else
return fileSize/1024+"KB";
}

public static String FileLenthWithBytes(File f)
{
long fileSize=f.length();
return fileSize+"B";
}
5 楼 gmingsoft04 2008-12-08  
输出如下:
Java-Collections-Framework.pdf的属性如下:
是文件
不是目录
可读取
可写入
不是隐藏文件
文件的最后修改日期为:Sat Dec 06 09:56:41 CST 2008
文件的大小为:359247B
文件后缀为.pdf
文件MIME类型为pdf
4 楼 gmingsoft04 2008-12-08  
晕,这个编辑器还不是很会用啊.
这句没有显示完整.
String targetDirPath = target.getAbsolutePath().substring(0,target.getAbsolutePath().lastIndexOf("\\"));
这句的作用就是截取字符串:
C://311//11111.txt
因为C:/311可能不存在
如果不创建这个目录,将可能会报IOException,
系统找不到指定的目录.
所以在复制文件前,要检查有没有这个目录存在.
没有,则创建一个目录.
我的代码如下:
public static void main(String[] args) throws IOException{
File file= new File("D://211//Java-Collections-Framework.pdf");

System.out.println(file.getName()+"的属性如下:");
System.out.println(file.isFile()?"是文件":"不是文件");
System.out.println(file.isDirectory()?"是目录":"不是目录");
System.out.println(file.canRead()?"可读取":"不可读取");
System.out.println(file.canWrite()?"可写入":"不可写入");
System.out.println(file.isHidden()?"是隐藏文件":"不是隐藏文件");
System.out.println("文件的最后修改日期为:"+new Date(file.lastModified()));
System.out.println("文件的大小为:"+file.length()+"B");
System.out.println("文件后缀为"+file.getName().substring(file.getName().lastIndexOf(".")));
System.out.println("文件MIME类型为"+file.getName().substring(file.getName().lastIndexOf(".")+1));
FileInfo f= new FileInfo(file);
f.printFileInfo();
//System.out.println(f.getFileCreateDate(file));
File src = new File("D://211//211-2.txt");
File target = new File("C://311//11111.txt");
System.out.println(target.getAbsolutePath());
System.out.println(target.getAbsolutePath().lastIndexOf("\\"));
String targetDirPath = target.getAbsolutePath().substring(0,
target.getAbsolutePath().lastIndexOf("\\"));
File fdir = new File(targetDirPath);
if(!fdir.exists())
{
fdir.mkdirs();
}
System.out.println(targetDirPath);
copyFile(src, target);
File srcDir = new File("D://211");
File targetDir = new File("C://110");
if (!targetDir.exists()) {
targetDir.mkdirs();
}
copyDict(srcDir, targetDir);

}
3 楼 gmingsoft04 2008-12-08  

		File src = new File("D://211//211-2.txt");
		File target = new File("C://311//11111.txt");
		System.out.println(target.getAbsolutePath());
		System.out.println(target.getAbsolutePath().lastIndexOf("\\"));
		String targetDirPath = target.getAbsolutePath().substring(0,
				target.getAbsolutePath().lastIndexOf("\\"));
		File fdir = new File(targetDirPath);
		fdir.mkdirs();
		System.out.println(targetDirPath);
		copyFile(src, target);
		File srcDir = new File("D://211");
		File targetDir = new File("C://110");
		if (!targetDir.exists()) {
			targetDir.mkdirs();
		}
		copyDict(srcDir, targetDir);

2 楼 gmingsoft04 2008-12-08  
good File Util.
File src = new File("D://211//211-2.txt");
		File target=new File("C://311//11111.txt");
		System.out.println(target.getAbsolutePath());
		System.out.println(target.getAbsolutePath().lastIndexOf("\\"));
		String targetDirPath=target.getAbsolutePath().substring(0,target.getAbsolutePath().lastIndexOf("\\"));
		File fdir= new File(targetDirPath);
		fdir.mkdirs();
		System.out.println(targetDirPath);
		copyFile(src,target);
		File srcDir = new File("D://211");
		File targetDir = new File("C://110");
		if(!targetDir.exists())
		{
			targetDir.mkdirs();
		}
		copyDict(srcDir,targetDir);
		
	}
1 楼 herolin 2008-08-20  
大大您好,
小弟的文章http://herolin.mine.nu/entry/java-copy-file-directory有参考一下您的文章,特来告知
谢谢

相关推荐

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

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

    JAVA 对文件夹操作

    ### JAVA对文件夹操作知识点详解 #### 一、概述 在Java编程中,对文件的操作是一项非常基础且重要的技能。无论是简单的文件读写还是复杂的文件系统管理,掌握这些技巧对于开发高质量的应用程序至关重要。本篇内容...

    java文件夹的拷贝

    在Java编程中,文件夹的拷贝是一项常见的操作,尤其在处理数据迁移、备份或软件部署等场景。本文将深入探讨如何使用Java实现文件夹及其内容的完整拷贝。我们将基于给定的"java文件夹的拷贝"主题,以及提供的`...

    java实现文件夹复制

    在Java编程中,复制文件夹是一项常见的任务,特别是在处理数据迁移、备份或程序部署时。以下将详细讲解如何使用Java实现文件夹的复制。 首先,我们需要理解文件和文件夹的基本操作。在Java中,`java.io`包提供了...

    Java代码 可以压缩文件夹到指定目录和指定名称,将文件或者文件夹中的文件转成base64格式

    在Java编程语言中,压缩文件夹到指定目录和指定名称是一项常见的任务,这通常涉及到对文件系统的操作和使用压缩库。Java提供了多种方法来实现这一功能,比如使用内置的`java.util.zip`包或者第三方库如Apache ...

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

    此外,Java 7及更高版本提供了`Files.copy()`方法,它可以更简洁地完成文件和文件夹的复制,同时支持追加模式、保留文件属性和异常处理等功能。例如: ```java import java.nio.file.Files; import java.nio.file....

    java合并两个文件夹内容

    在IT行业中,尤其是在Java编程和运维领域,有时候我们需要对文件系统进行操作,比如合并两个文件夹的内容。这个任务可以通过编写脚本来实现,特别是在自动化运维流程中。本文将深入探讨如何使用Java来完成这个任务,...

    java文件夹及文件复制

    在Java编程语言中,文件和文件夹的复制是一项常见的任务,尤其在系统迁移、数据备份或者软件部署等场景中。本教程将详细讲解如何使用Java的文件I/O(Input/Output)功能,通过递归的方式来实现文件及文件夹的复制,...

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

    Java拷贝文件夹和删除文件夹代码实例 Java语言中,文件夹的拷贝和删除是非常重要的操作。本文将详细介绍Java拷贝文件夹和删除文件夹的代码实例,包括文件夹的拷贝和删除整个文件夹的实现方法。 一、文件夹的拷贝 ...

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

    2. 使用`java.nio`包中的`Files`和`Paths`类,特别是`Files.copy()`方法。 3. 文件和目录的遍历,包括递归复制子目录。 4. 异常处理,尤其是`IOException`的捕获和处理。 5. 可选地,了解`java.io`包的`...

    java实现文件和文件夹复制

    java文件夹和文件复制,

    java下载文件、图片、文件夹.docx

    在Java编程中,下载文件、图片以及文件夹是一项常见的任务,尤其在开发Web应用程序时,可能需要提供文件下载服务或者将服务器上的资源保存到本地。本文将深入探讨如何使用Java实现这一功能,主要关注以下几个方面: ...

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

    在Java编程中,有时我们需要实现文件或文件夹的拷贝功能。这个需求在处理大量数据迁移、备份或者软件部署时尤为常见。本篇文章将详细解释如何使用Java实现文件夹的拷贝实例代码。 首先,我们要了解Java中进行文件...

    java 文件夹浏览器

    - `java.nio`包中的`Files`类提供了更多高级功能,如`copy()`、`move()`、`delete()`等。 2. **文件流** - Java的I/O流分为字节流(Byte Stream)和字符流(Character Stream)。字节流处理原始的字节数据,如`...

    java文件和文件夹操作大全

    ### Java文件和文件夹操作大全:深度解析与实践指南 #### 一、创建文件夹与文件 在Java中,创建文件夹与文件是基础而重要的功能。通过`java.io.File`类,我们可以轻松实现这些操作。 **创建文件夹示例**: ```...

    java开发,图片重命名

    这里使用了Java 7引入的`java.nio.file.Files.copy()`方法进行文件复制,`StandardCopyOption.REPLACE_EXISTING`选项确保如果目标文件已存在,会被新的文件覆盖。 在实际项目中,如果需要对多个图片进行批量重命名...

    java复制文件及复制文件夹

    在Java编程中,复制文件和复制文件夹是常见的操作,特别是在处理数据迁移、备份或程序部署时。下面我们将深入探讨如何使用Java实现这些功能,并提供相关的代码示例。 首先,让我们看看如何复制单个文件。Java标准库...

    使用Java API进行tar.gz文件及文件夹压缩解压缩.docx

    ame()); tOut.putArchiveEntry(tarEntry);...通过引入该库,我们可以轻松地在 Java 程序中实现文件和文件夹的压缩与解压缩功能。在实际开发中,注意错误处理、资源管理以及安全性等方面,以确保程序的健壮性和安全性。

    java解压缩文件文件夹

    本文将详细讲解如何使用Java实现文件和文件夹的压缩以及解压缩功能。 首先,Java标准库提供了`java.util.zip`包,其中包含了一些用于处理ZIP和GZIP格式的类。在“java文件解压缩”的场景下,我们主要会用到`...

    文件批量拷贝、重命名工具类 for java.zip

    这个"文件批量拷贝、重命名工具类 for java.zip"压缩包包含两个关键的Java源代码文件:Copy_File.java和RenameFile.java,它们分别用于实现文件的批量拷贝和重命名功能。 首先,我们来看`Copy_File.java`。这个类...

Global site tag (gtag.js) - Google Analytics