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中最常见的十道面试题(超经典)”的完整攻略。 前言 在面试Java相关职位时,经常会被问到一些非常经典的问题。本文将列举出Java中最常见的十道面试题,并为每个问题提供完整的解答,希望能够帮助你在面试时取得更好的成绩。 面试题1:Java中的“值传递”和“引用传递”有何区别? 在Java中,所有的参数传递都是“值传递”,也就是…

    Java 2023年5月24日
    00
  • java文件下载代码实例(单文件下载和多文件打包下载)

    下面我将详细讲解”Java文件下载代码实例(单文件下载和多文件打包下载)”的完整攻略。 1. 单文件下载示例 步骤1:从服务器获取文件资源 首先,在Java中实现文件下载需要从服务器获取文件资源,我们可以使用Java的URL类来实现。如下代码: URL url = new URL("http://www.example.com/file.pdf&q…

    Java 2023年5月20日
    00
  • Maven导入本地jar包的实现步骤

    下面是Maven导入本地jar包的实现步骤的攻略。 步骤 1. 安装本地jar包 在Maven项目中引入本地jar包前,需要先在本地安装好该jar包。在命令行中使用Maven提供的install命令自动将jar包安装到本机的Maven仓库中。 mvn install:install-file -Dfile=<path-to-file> -Dgro…

    Java 2023年5月20日
    00
  • Jsp+Servlet实现文件上传下载 删除上传文件(三)

    这篇攻略是介绍如何使用 JSP 和 Servlet 来实现文件上传下载以及删除上传文件。其中包含以下内容: 上传文件处理(上传文件存储,上传文件名称处理) 下载文件处理(下载文件存储) 删除文件处理 除此之外,还会用到一些库和工具,如 commons-fileupload、commons-io、bootstrap。 上传文件处理 上传文件存储 在上传文件之前…

    Java 2023年6月15日
    00
  • 详解Java中的八种单例创建方式

    下面我来详细讲解Java中的八种单例创建方式的完整攻略。 标题 一、单例模式概述 单例模式是设计模式中常见的一种,用于保证一个类仅有一个实例,并提供一个全局的访问点进行访问。 二、Java中八种单例创建方式 1. 饿汉式 饿汉式是最基本的实现方式,它在类加载的时候就创建了对象实例。 public class Singleton { private stati…

    Java 2023年5月26日
    00
  • Maven 配置文件 生命周期 常用命令详解

    Maven 配置文件 Maven 是一款基于项目对象模型 (POM) 的构建工具,POM 是 Maven 工作的核心,其中包括了项目依赖、插件配置、构建目标等信息。Maven 配置文件主要分为以下两类: settings.xml settings.xml 文件是 Maven 的全局配置文件,位于 Maven 安装目录的 conf 目录下,主要包括了 Mave…

    Java 2023年5月20日
    00
  • Java中的ArrayList类常用方法和遍历

    关于Java中的ArrayList类常用方法和遍历,以下是一份详细攻略: ArrayList简介 ArrayList是Java中的一种集合框架,用于存储元素列表,也就是一个动态数组。ArrayList允许我们随意添加、删除、访问列表中的元素,并且会在内部自动调整大小,此外,ArrayList类还提供了一些方便的方法用于操作列表中的元素。 常用方法 下面是Ar…

    Java 2023年5月26日
    00
  • Jsp真分页实例—分页

    JSP真分页实现需要使用Java语言和JSP技术。具体实现步骤如下: 步骤一:获取数据并计算总页数 首先,我们需要从数据库或后台获取数据并计算出总页数。我们可以通过以下代码实现: <% // 每页显示10条数据 int pageSize = 10; // 当前页码 int currentPage = Integer.parseInt(request.g…

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