java合并多个文件的实例代码

Java合并多个文件的实例代码,可以通过以下步骤实现:

1. 获取所有待合并文件的文件名和路径

我们可以使用Java中的File类来获取指定目录下的所有文件的文件名和路径,具体实现代码如下:

File dir = new File("待合并文件所在的文件夹路径");
File[] files = dir.listFiles();
for (File file : files) {
    if (file.isFile()) {
        System.out.println("文件名:" + file.getName() + ",路径:" + file.getAbsolutePath());
    }
}

2. 将所有文件内容拼接到一个字符串中

我们可以通过Java的IO流实现将多个文件的内容读取到一个字符串中,具体实现代码如下:

StringBuffer sb = new StringBuffer();
for (File file : files) {
    if (file.isFile()) {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line = null;
        while ((line = br.readLine()) != null) {
            sb.append(line).append("\n");
        }
        br.close();
    }
}
String content = sb.toString();

3. 将合并后的内容写入到一个新文件中

最后,我们可以通过Java的IO流将合并后的内容写入到一个新文件中,具体实现代码如下:

FileWriter fw = new FileWriter("合并后的文件路径");
fw.write(content);
fw.close();

示例一

下面是一个示例代码,它可以将所有待合并在同一文件夹下的TXT文件合并成一个新文件:

import java.io.*;

public class MergeFilesDemo {
    public static void main(String[] args) throws IOException {
        String dirPath = "D:/workspace/mergefiles";
        File dir = new File(dirPath);
        File[] files = dir.listFiles();
        StringBuffer sb = new StringBuffer();
        for (File file : files) {
            if (file.isFile()) {
                BufferedReader br = new BufferedReader(new FileReader(file));
                String line = null;
                while ((line = br.readLine()) != null) {
                    sb.append(line).append("\n");
                }
                br.close();
            }
        }
        String content = sb.toString();
        FileWriter fw = new FileWriter("D:/workspace/mergefiles/result.txt");
        fw.write(content);
        fw.close();
        System.out.println("合并完成!新文件路径为:D:/workspace/mergefiles/result.txt");
    }
}

示例二

下面是另一个示例代码,它可以将多个不同目录下的TXT文件合并成一个新文件:

import java.io.*;

public class MergeFilesDemo {
    public static void main(String[] args) throws IOException {
        String[] filePaths = {
                "D:/workspace/file1.txt",
                "D:/workspace/file2.txt",
                "E:/data/file3.txt",
                "E:/data/file4.txt"
        };
        File[] files = new File[filePaths.length];
        for (int i = 0; i < files.length; i++) {
            files[i] = new File(filePaths[i]);
        }
        StringBuffer sb = new StringBuffer();
        for (File file : files) {
            if (file.isFile()) {
                BufferedReader br = new BufferedReader(new FileReader(file));
                String line = null;
                while ((line = br.readLine()) != null) {
                    sb.append(line).append("\n");
                }
                br.close();
            }
        }
        String content = sb.toString();
        FileWriter fw = new FileWriter("D:/workspace/result.txt");
        fw.write(content);
        fw.close();
        System.out.println("合并完成!新文件路径为:D:/workspace/result.txt");
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java合并多个文件的实例代码 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Spring Boot实现热部署的五种方式

    Spring Boot是一个快速开发框架,可以帮助开发人员快速构建Web应用程序。在开发过程中,经常需要修改代码并重新编译,这会浪费很多时间。为了提高开发效率,Spring Boot提供了热部署功能,可以在不重启应用程序的情况下实时更新代码。本文将介绍Spring Boot实现热部署的五种方式,并提供两个示例。 方式一:使用Spring Boot DevTo…

    Java 2023年5月15日
    00
  • mybatis中的mapper.xml使用循环语句

    MyBatis是Java企业级应用中常用的持久化框架之一。在MyBatis中,mapper.xml是定义SQL语句的重要文件,循环语句是在mapper.xml中进行数据处理的常用方式之一。本文将从以下几个方面,详细讲解MyBatis中的mapper.xml使用循环语句的完整攻略: MyBatis中支持哪些类型的循环语句 MyBatis中如何编写循环语句 在M…

    Java 2023年5月20日
    00
  • java springboot的概述、特点与构建介绍

    Java Spring Boot的概述、特点与构建介绍 1. 概述 Spring Boot是一个基于Spring框架的快速开发应用程序的工具。它提供了一种快速、便捷的方式来创建基于Spring的应用程序,同时也提供了一些默认的配置和约定,使得开发人员可以更加专注于业务逻辑的实现。 2. 特点 Spring Boot具有以下特点: 快速开发:Spring Bo…

    Java 2023年5月15日
    00
  • SpringBoot Web依赖教程

    下面是针对“SpringBoot Web依赖教程”的完整攻略。 SpringBoot Web依赖教程 Spring Boot 是针对 Spring 框架的快速开发和运行的一套脚手架。Spring Boot 的优点是可以很好地运行 Spring 应用程序,同时还能缩短开发时间。其中,Spring Boot Web 依赖是为开发 Web 应用程序而设计的。 在学…

    Java 2023年5月19日
    00
  • 一篇文章带你入门Java运算符

    一篇文章带你入门Java运算符 运算符是编程语言中非常重要的基础知识之一,Java作为一门主流的编程语言也是如此。在这篇文章中,我们将详细讲解Java中的各种运算符,带你入门Java运算符。本文主要内容如下: 基础概念介绍 算术运算符 赋值运算符 比较运算符 逻辑运算符 位运算符 基础概念介绍 在学习Java运算符之前,我们需要先了解一些基础概念。Java中…

    Java 2023年5月23日
    00
  • 详解 maven的pom.xml用解决版本问题

    下面就是关于“详解 Maven 的 pom.xml 用 解决版本问题”的完整攻略。 概述 当在Maven项目中出现依赖jar包与自己项目中的相关版本不兼容时,可以通过在pom.xml文件中使用<exclusion>标签来排除掉该依赖中不兼容的包,保证项目的正常运行。 详解步骤 接下来详细介绍如何使用<exclusion>标签解决版本问…

    Java 2023年6月2日
    00
  • 关于@JsonProperty和@JSONField注解的区别及用法

    下面就是关于JsonProperty和JSONField注解的区别及用法的完整攻略。 1. 什么是 @JsonProperty 和 @JSONField 注解 @JsonProperty 和 @JSONField 都是用来指定属性名与 Json 中的名称对应关系的注解,但是前者是 Jackson 库中提供的注解,后者是阿里巴巴 fastjson 库中提供的注…

    Java 2023年5月26日
    00
  • 详解SpringBoot是如何整合JPA的

    接下来我会详细讲解SpringBoot是如何整合JPA的,包括JPA的配置、实体类的设计、数据访问层的编写、并给出至少两个实例。 配置JPA 在SpringBoot中整合JPA,需要进行以下配置: 引入依赖 在 pom.xml 文件中引入以下依赖: <!– Spring Data JPA –> <dependency> <g…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部