当前位置:首页 > Java

java 如何复制文件

2026-03-24 14:09:54Java

使用 Files.copy() 方法(Java NIO)

Java NIO 的 Files.copy() 方法提供高效的文件复制功能,支持路径操作和选项配置。

import java.nio.file.*;

Path source = Paths.get("source.txt");
Path target = Paths.get("target.txt");
Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);

StandardCopyOption.REPLACE_EXISTING 参数确保覆盖已存在的目标文件。

使用 FileInputStream 和 FileOutputStream(传统 IO)

通过字节流逐字节读取和写入文件,适合需要自定义缓冲大小的场景。

java 如何复制文件

import java.io.*;

try (InputStream in = new FileInputStream("source.txt");
     OutputStream out = new FileOutputStream("target.txt")) {
    byte[] buffer = new byte[1024];
    int length;
    while ((length = in.read(buffer)) > 0) {
        out.write(buffer, 0, length);
    }
}

使用 try-with-resources 确保流自动关闭,避免资源泄漏。

使用 FileChannel 传输(高性能)

FileChannel.transferTo() 方法利用操作系统零拷贝技术提升大文件复制效率。

java 如何复制文件

import java.nio.channels.*;
import java.io.*;

try (FileInputStream fis = new FileInputStream("source.txt");
     FileOutputStream fos = new FileOutputStream("target.txt")) {
    FileChannel sourceChannel = fis.getChannel();
    FileChannel targetChannel = fos.getChannel();
    sourceChannel.transferTo(0, sourceChannel.size(), targetChannel);
}

此方法特别适合处理大型文件,减少内核态与用户态间的数据拷贝。

使用 Apache Commons IO

引入 commons-io 依赖后,FileUtils.copyFile() 提供单行代码实现。

import org.apache.commons.io.FileUtils;

FileUtils.copyFile(new File("source.txt"), new File("target.txt"));

需确保项目中包含以下 Maven 依赖:

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.11.0</version>
</dependency>

错误处理注意事项

无论采用哪种方法,都应捕获 IOException 并处理可能出现的异常情况,例如文件不存在、权限不足或磁盘空间不足等问题。建议在代码中添加适当的日志记录或用户提示。

标签: 文件java
分享给朋友:

相关文章

实现.vue文件

实现.vue文件

创建.vue文件的基本结构 一个标准的.vue文件包含三个部分:模板(template)、脚本(script)和样式(style)。这种结构允许开发者在一个文件中管理组件的HTML、JavaScrip…

java如何输入

java如何输入

使用Scanner类进行输入 Scanner类是Java中最常用的输入工具,适用于从控制台或文件读取数据。需要导入java.util.Scanner包。 基本语法: Scanner sca…

java程序如何运行

java程序如何运行

编写Java代码 使用文本编辑器或IDE(如IntelliJ IDEA、Eclipse)编写Java源代码,保存为.java文件。例如: public class HelloWorld {…

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

php实现文件下载代码

php实现文件下载代码

实现文件下载的基本方法 使用PHP实现文件下载的核心是通过设置HTTP头部信息,强制浏览器触发下载行为而非直接显示文件内容。 $file_path = 'path/to/your/file.ext'…

java如何连接mysql数据库

java如何连接mysql数据库

连接 MySQL 数据库的步骤 添加 MySQL 驱动依赖 在项目中引入 MySQL 的 JDBC 驱动。如果使用 Maven,可以在 pom.xml 中添加以下依赖: <dependency…