当前位置:首页 > Java

java如何复制文件

2026-04-09 04:03:40Java

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

Java NIO(New I/O)提供了 Files.copy() 方法,适合现代Java版本(JDK 7+)。该方法支持更高效的复制操作,并可自定义复制选项(如覆盖文件)。

java如何复制文件

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

public class FileCopyNIO {
    public static void main(String[] args) {
        Path source = Paths.get("source.txt");
        Path target = Paths.get("target.txt");
        try {
            Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用 FileInputStreamFileOutputStream

传统IO流方式适用于所有Java版本,通过逐字节或缓冲区读取写入实现文件复制。

java如何复制文件

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

public class FileCopyIO {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("source.txt");
             FileOutputStream fos = new FileOutputStream("target.txt")) {
            byte[] buffer = new byte[1024];
            int length;
            while ((length = fis.read(buffer)) > 0) {
                fos.write(buffer, 0, length);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用 Apache Commons IO 库

第三方库 commons-io 提供了 FileUtils.copyFile() 方法,简化代码并增强功能(如保留文件属性)。

import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;

public class FileCopyCommons {
    public static void main(String[] args) {
        File source = new File("source.txt");
        File target = new File("target.txt");
        try {
            FileUtils.copyFile(source, target);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

注意事项

  • 路径处理:使用绝对路径或确保相对路径正确。
  • 异常处理:捕获 IOException 并处理文件不存在或权限问题。
  • 大文件优化:缓冲区大小(如 8KB 或更大)可提升性能。
  • 资源释放:使用 try-with-resources 自动关闭流。

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

相关文章

java如何输出

java如何输出

输出到控制台 使用 System.out.println() 方法输出内容到控制台,适用于调试或简单信息展示。 示例代码: System.out.println("Hello, World!")…

java如何上传文件

java如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…

如何安装java环境

如何安装java环境

下载JDK安装包 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。确保下载与系统架构匹配的版本(32位或64位)。 运行安…

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。 配…

如何升级java

如何升级java

检查当前Java版本 在升级之前,需确认当前安装的Java版本。在终端或命令提示符中运行以下命令: java -version 输出会显示当前Java版本(如1.8.0_301或17.0.2)。…

win7如何配置java环境变量

win7如何配置java环境变量

下载并安装Java 从Oracle官网下载适合的Java Development Kit (JDK)安装包,选择与系统位数(32位或64位)匹配的版本。运行安装程序,按照提示完成安装,默认路径通常为C…