当前位置:首页 > Java

java如何拼接文件

2026-03-18 03:06:24Java

使用 Files 类读取和写入文件

通过 Files.readAllBytes 读取文件内容,再通过 Files.write 追加到目标文件。适用于小文件,避免内存溢出。

Path file1 = Paths.get("file1.txt");
Path file2 = Paths.get("file2.txt");
Path output = Paths.get("output.txt");

byte[] content1 = Files.readAllBytes(file1);
byte[] content2 = Files.readAllBytes(file2);

Files.write(output, content1);
Files.write(output, content2, StandardOpenOption.APPEND);

使用 BufferedReaderBufferedWriter 逐行处理

适合大文件,逐行读取和写入,减少内存占用。

try (
    BufferedReader reader1 = new BufferedReader(new FileReader("file1.txt"));
    BufferedReader reader2 = new BufferedReader(new FileReader("file2.txt"));
    BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))
) {
    String line;
    while ((line = reader1.readLine()) != null) {
        writer.write(line);
        writer.newLine();
    }
    while ((line = reader2.readLine()) != null) {
        writer.write(line);
        writer.newLine();
    }
}

使用 FileInputStreamFileOutputStream 合并二进制文件

适用于二进制文件(如图片、视频),通过字节流直接拼接。

try (
    FileInputStream fis1 = new FileInputStream("file1.dat");
    FileInputStream fis2 = new FileInputStream("file2.dat");
    FileOutputStream fos = new FileOutputStream("output.dat")
) {
    byte[] buffer = new byte[1024];
    int bytesRead;
    while ((bytesRead = fis1.read(buffer)) != -1) {
        fos.write(buffer, 0, bytesRead);
    }
    while ((bytesRead = fis2.read(buffer)) != -1) {
        fos.write(buffer, 0, bytesRead);
    }
}

使用 Apache Commons IO 简化操作

通过 FileUtils.writeByteArrayToFile 快速实现文件合并。

java如何拼接文件

byte[] content1 = FileUtils.readFileToByteArray(new File("file1.txt"));
byte[] content2 = FileUtils.readFileToByteArray(new File("file2.txt"));
FileUtils.writeByteArrayToFile(new File("output.txt"), content1);
FileUtils.writeByteArrayToFile(new File("output.txt"), content2, true); // 追加模式

注意事项

  • 大文件需使用流式处理(如 BufferedReaderFileInputStream),避免内存不足。
  • 目标文件路径需提前检查是否存在,否则会覆盖原文件。
  • 追加模式需显式指定 StandardOpenOption.APPENDtrue 参数。

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

相关文章

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

如何编写java程序

如何编写java程序

安装开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH正确设置。 选…

如何安装java环境

如何安装java环境

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

java如何运行程序

java如何运行程序

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

vue文件底层实现

vue文件底层实现

Vue 文件的底层实现 Vue 单文件组件(SFC,即 .vue 文件)的底层实现依赖于 Vue 的编译工具链,主要包括 @vue/compiler-sfc 和构建工具(如 Vite 或 Webpac…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…