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日

相关文章

  • 微信小程序向Java后台传输参数的方法实现

    如何实现微信小程序与Java后台之间的参数传递是一个较为重要且常见的问题。下面是一份完整的攻略,它包含了从前端到后端的全部知识点和示例。 前端实现 在微信小程序中传递参数的方法,与普通Web开发的方法类似。我们这里着重讲述以下两种方法: 参数以GET方式拼接在URL后传递 这是一种最常用的传参方法,它比较直观,易于理解和操作。GET方式传参的地址是一个完整的…

    Java 2023年5月23日
    00
  • Java中线程安全有哪些实现思路

    Java中线程安全是多线程编程中非常重要的概念,因为线程安全的代码能够保证多个线程同时访问同一个共享变量时不会出现竞态条件等问题。下面是Java中线程安全的实现思路: 1. 使用synchronized关键字 synchronized是Java中最基本的实现线程安全的方式,用synchronized关键字修饰方法或代码块,表示只有一个线程可以进入该代码块或方…

    Java 2023年5月18日
    00
  • springboot 使用clickhouse实时大数据分析引擎(使用方式)

    使用ClickHouse实现大数据分析是一个常见的需求,Spring Boot提供了非常便利的方式来集成ClickHouse分析引擎。以下是使用Spring Boot集成ClickHouse的步骤: 1.添加ClickHouse的依赖 在Spring Boot的项目中添加ClickHouse Driver的依赖,可以通过以下的方式添加到项目的pom.xml文…

    Java 2023年5月20日
    00
  • Springboot几种任务的整合方法

    下面我将详细讲解 Spring Boot 几种任务的整合方法,包括 Spring Batch、Quartz 定时任务、异步任务以及调度任务的整合。 Spring Batch 任务整合 Spring Batch 是一个开源的、轻量级的、面向企业级的批量处理框架。Spring Batch 提供了企业批处理的基础设施,能够构建大规模、复杂的批处理应用。要将 Spr…

    Java 2023年5月15日
    00
  • IDEA工程运行时总是报xx程序包不存在实际上包已导入(问题分析及解决方案)

    问题背景 在使用 JetBrains 旗下的 Java IDE 工具 IntelliJ IDEA 进行项目开发时,有时会遇到一个问题:在导入了某些依赖库后,运行程序时提示某些类找不到或某些程序包不存在,但实际上这些包已经被正确导入了。 问题原因 这是因为 IntelliJ IDEA 默认会在编译、运行时根据 Maven、Gradle 或自己所设置的依赖路径自…

    Java 2023年5月26日
    00
  • EasyUi+Spring Data 实现按条件分页查询的实例代码

    首先让我们来介绍一下 EasyUi 和 Spring Data。 EasyUi 是一款基于 jQuery 的 UI 框架,它提供了丰富的 UI 组件和简单易用的 API,可以帮助开发者快速搭建高质量的 Web 应用程序。Spring Data 是 Spring 框架下用于简化数据访问的一个API框架,它为开发者提供了统一的 API ,可以实现对数据库的访问和…

    Java 2023年5月20日
    00
  • 推荐一款 IntelliJ IDEA 神级插件,由 ChatGPT 团队开发,免费使用,堪称辅助神器!

    来源:https://blog.csdn.net/m0_64880608/article/details/130201349 什么是Bito? Bito是一款在IntelliJ IDEA编辑器中的插件,Bito插件是由ChatGPT团队开发的,它是ChatGPT团队为了提高开发效率而开发的一款工具。 ChatGPT团队是一支专注于自然语言处理技术的团队,他们…

    Java 2023年5月4日
    00
  • SpringBoot默认使用HikariDataSource数据源方式

    Spring Boot 是一种在 Spring 框架基础上开发应用程序的快速,便捷的方式。在 Spring Boot 应用程序中,HikariDataSource 是默认的数据源,以提高应用程序的性能。 Spring Boot 框架中默认使用 HikariDataSource 数据源方式,这是因为 HikariCP 是一个高性能的数据库连接池,它具有以下优点…

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