`
huzhenyu
  • 浏览: 191878 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

两段copy文件的代码

    博客分类:
  • JAVA
阅读更多
1.传统的基于IO的Copy方法
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class Snippet {
	public static void copyFile(File source, File dest) throws IOException {
		if (!dest.exists()) {
			dest.createNewFile();
		}
		InputStream in = null;
		OutputStream out = null;
		try {
			in = new FileInputStream(source);
			out = new FileOutputStream(dest);

			// Transfer bytes from in to out
			byte[] buf = new byte[1024];
			int len;
			while ((len = in.read(buf)) > 0) {
				out.write(buf, 0, len);
			}
		} finally {
			if (in != null) {
				in.close();
			}
			if (out != null) {
				out.close();
			}
		}
	}
}

2.基于NIO的高效的Copy方法
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;

public class Snippet {

	public static void copyFile(File sourceFile, File destFile) throws IOException {
		if (!destFile.exists()) {
			destFile.createNewFile();
		}

		FileChannel source = null;
		FileChannel destination = null;
		try {
			source = new FileInputStream(sourceFile).getChannel();
			destination = new FileOutputStream(destFile).getChannel();
			destination.transferFrom(source, 0, source.size());
		} finally {
			if (source != null) {
				source.close();
			}
			if (destination != null) {
				destination.close();
			}
		}
	}
}
分享到:
评论

相关推荐

    文件copy命令的源代码

    ### 描述:这个是文件copy命令的源代码 文件copy命令,只能copy一个文件 描述部分进一步明确了该源代码的功能限制:只能处理单个文件的复制操作,不支持批量复制或目录复制等更复杂的需求。 ### 标签:copy 命令 ...

    Copy文件夹下面所有文件

    虽然这段代码示例没有明确展示异常处理逻辑,但在实际应用中,处理文件操作时必须考虑各种可能发生的异常情况,比如文件不存在、权限不足等问题。合理的异常捕获和处理机制对于提高程序的健壮性和用户体验至关重要。...

    Delphi 实现copy文件

    这段代码会将指定的源文件复制到目标位置,并在目标文件已经存在时询问用户是否覆盖。`true` 参数表示允许覆盖,如果不想覆盖,可以传入 `false`。 除了 `TFile.Copy` 方法,还可以使用 `TStream` 对象来实现更复杂...

    Linux实现目录和文件拷贝C代码

    这段代码主要涉及的是在 Linux 环境下利用 C 语言实现目录和文件的拷贝操作。下面将详细解释其中的关键知识点。 ### 一、核心功能概述 此代码实现了在 Linux 操作系统中对文件或目录进行拷贝的基本功能。它可以...

    java文件复制器代码

    Java 文件复制器是一种实用程序,用于在计算机上复制文件。在这个特定的代码示例中,我们看到一个名为 `FileCopy` 的类,该类包含了复制...通过理解和学习这段代码,开发者可以更好地理解 Java 中的文件操作和流处理。

    文件属性修改php代码

    这段代码的作用是将用户上传的文件从服务器的临时目录复制到指定的目标目录中。其中: - `$_FILES['uploadfile']['tmp_name']`:获取上传文件的临时路径。 - `$uploaddir`:目标目录路径。 - `$_FILES['uploadfile']...

    Java文件的复制源代码

    这段代码中,我们创建了两个输入/输出流对象,分别对应源文件和目标文件。然后,我们在一个循环中读取源文件的内容,并将其写入目标文件。注意,一定要在操作完成后关闭输入/输出流,以释放系统资源。 然而,上述...

    使用代码创建.复制.填写文件

    文件复制可以分为两种:文件对象的复制(内存中)和文件内容的复制(磁盘上)。在内存中复制,可以先读取文件内容,然后写入另一个文件。在磁盘上复制,可以使用系统调用或者库函数,如Python的`shutil`模块。 ``...

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

    这段代码读取指定路径的文件内容,将其转换为字节数组,然后使用`Base64.getEncoder().encodeToString()`方法编码为Base64字符串。 结合这两个功能,你可以在压缩文件夹后,对每个压缩的文件进行Base64编码。这可以...

    asp 读取文件和保存文件函数代码

    此段代码定义了一个名为`LoadFromFile`的函数,该函数用于从指定路径读取文件,并将文件内容返回给调用者。 ##### 参数说明 - `File`: 表示要读取的文件路径,该路径可以是相对路径或绝对路径。 ##### 函数实现 ...

    汇编源代码-文件拷贝

    代码可能包括定义数据段和代码段,声明变量,设置系统调用,读写文件,以及控制流程的跳转指令。通过对这个文件的分析,我们可以学习到实际的汇编语言编程技巧,并了解如何在没有高级语言抽象的情况下处理文件操作。

    利用系统调用创建自己的COPY命令

    1. **参数检查**:确保命令行参数数量正确,即必须有两个参数(源文件和目标文件)。 2. **打开源文件**:使用`open`系统调用打开源文件,若失败则退出程序。 3. **创建目标文件**:利用`creat`系统调用创建目标文件...

    文件绑定工具源代码(C++)

    这段代码展示了如何使用C++编写一个简单的文件分离器。通过读取绑定文件中的数据,可以提取出原始文件的信息并将其保存到临时文件中。之后可以根据需要运行这些文件。 #### 六、总结 文件绑定是一种实用的技术,...

    代码相似度检测测试数据

    首先,代码相似度是指两段或多段源代码在结构、逻辑或表达方式上的相似程度。它在多种场景下都有重要作用,比如防止抄袭、检测冗余代码、重构优化以及进行版权保护等。代码相似度检测通常通过专门的工具进行,这些...

    文件操作模块

    这通常需要编写一段递归代码。 **拷贝文件**: 文件拷贝通常由`shutil`模块的`copy()`或`copy2()`函数处理。`copy()`仅拷贝文件的基本内容,而`copy2()`则还会保留原文件的元数据(如修改时间)。例如,`shutil.copy...

    copy_files.zip_源码

    今天我们将深入探讨一个名为"Copy_files.zip"的压缩包,其中包含了用于复制文件的源代码。这个实用工具为我们提供了一个高效且灵活的方式来处理文件复制任务,是学习和理解文件操作的好材料。 "Copy_files"这个模块...

    查找文件 复制文件

    这段代码首先找到`C:\Source`及其子目录下的所有`.txt`文件,然后逐个将它们复制到`C:\Target`目录,保留原有的文件结构。 总结,通过C#的`Directory`和`File`类,我们可以方便地实现查找和复制文件的功能。在实际...

    test_user_copy.rar_copy_from_user

    在这个名为"test_user_copy.rar_copy_from_user"的压缩包中,我们主要关注的是`copy_from_user`函数及其相关的测试代码`test_user_copy.c`。 `copy_from_user`函数是用来从用户空间拷贝数据到内核空间的关键接口。...

    javaeye代码高亮插件

    5. **copy.png** 和 **copy.swf**:这两个文件可能是复制代码功能的组成部分。点击“复制”图标(copy.png)时,可能会调用一个Flash组件(copy.swf),允许用户将高亮的代码复制到剪贴板。在现代浏览器中,由于...

    VB.operation.sample.code.copy.files.rar_operation

    在VB(Visual Basic)编程环境中,复制文件是一项基础但至关重要的操作,特别是在处理文件...在提供的压缩包文件中,你可以找到具体的示例代码,通过阅读和运行这段代码,你将能更深入地理解VB中如何实现文件复制操作。

Global site tag (gtag.js) - Google Analytics