Java(springboot) 读取txt文本内容代码实例

下面是关于"Java(springboot) 读取txt文本内容代码实例"的完整攻略:

1. 准备工作

在开始实际操作之前,请确保你已经按照以下步骤准备就绪:

  • 已安装好springboot
  • 已经找到要读取的txt文件,并将其放置于项目的资源文件夹中

2. 代码实现

2.1. 读取文件内容到String

import org.springframework.core.io.ClassPathResource;
import org.springframework.util.FileCopyUtils;

import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;

public class FileUtil {

    /**
     * 获取资源文件中的txt文件内容到字符串中
     *
     * @param filePath 资源文件路径,如:/xxx.txt
     * @return 文件内容字符串
     * @throws IOException
     */
    public static String getFileContent(String filePath) throws IOException {
        ClassPathResource resource = new ClassPathResource(filePath);
        InputStream inputStream = resource.getInputStream();
        byte[] bdata = FileCopyUtils.copyToByteArray(inputStream);
        return new String(bdata, StandardCharsets.UTF_8);
    }

}

其中,getFileContent 方法接收文件路径作为参数,通过 ClassPathResource 获取文件输入流 InputStream,再通过 InputStream 获取文件字节流数据,最后通过字节流构建字符串返回。

2.2. 读取文件内容到List

import org.springframework.core.io.ClassPathResource;
import org.springframework.util.FileCopyUtils;

import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;

public class FileUtil {

    /**
     * 获取资源文件中的txt文件内容到List<String>中
     *
     * @param filePath 资源文件路径,如:/xxx.txt
     * @return 文件内容字符串
     * @throws IOException
     */
    public static List<String> getFileContentByLine(String filePath) throws IOException {
        ClassPathResource resource = new ClassPathResource(filePath);
        InputStream inputStream = resource.getInputStream();
        List<String> contents = new ArrayList<>();
        byte[] bdata = FileCopyUtils.copyToByteArray(inputStream);
        String text = new String(bdata, StandardCharsets.UTF_8).trim();
        String[] lines = text.split("\n");

        for (String line : lines) {
            contents.add(line.trim());
        }

        return contents;
    }

}

其中 getFileContentByLine 方法将读取文件内容后通过换行符 "\n" 分割为多行,再将每行内容放入一个新的 List 对象中返回。

3. 使用示例

假设我们有一个文件 example.txt,内容如下:

This is line 1.
This is line 2.
This is line 3.

3.1. 读取文件内容到String

import java.io.IOException;

public class DemoApplication {

    public static void main(String[] args) throws IOException {
        String content = FileUtil.getFileContent("/example.txt");
        System.out.println(content);
    }
}

输出结果如下:

This is line 1.
This is line 2.
This is line 3.

3.2. 读取文件内容到List

import java.io.IOException;
import java.util.List;

public class DemoApplication {

    public static void main(String[] args) throws IOException {
        List<String> contents = FileUtil.getFileContentByLine("/example.txt");
        for (String content : contents) {
            System.out.println(content);
        }
    }
}

输出结果如下:

This is line 1.
This is line 2.
This is line 3.

4. 结束语

以上就是读取txt文本文件内容的完整攻略,希望对大家有所帮助。需要注意的是,在使用 ClassPathResource 读取文件时,需要确保文件在springboot项目的资源文件夹下,如 src/main/resources 目录或其他自定义目录下。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java(springboot) 读取txt文本内容代码实例 - Python技术站

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

相关文章

  • 浅析SpringBoot自动化配置原理实现

    首先来介绍一下“浅析SpringBoot自动化配置原理实现”的完整攻略。 什么是SpringBoot自动化配置 SpringBoot是现在非常流行的Java Web开发框架,其最大的特点是其对于开发者的友好性,使开发者可以非常快地构建出一个Web应用,其中最为重要的就是其自动化配置。 自动化配置是SpringBoot的核心功能之一,它可以帮助开发者自动加载常…

    Java 2023年5月15日
    00
  • springmvc学习笔记-返回json的日期格式问题的解决方法

    下面是“springmvc学习笔记-返回json的日期格式问题的解决方法”的完整攻略: Spring MVC 返回JSON的日期格式问题的解决方法 Spring MVC框架中,我们通常会使用JSON作为数据返回格式,但是在返回JSON数据的时候,日期格式往往会出现一些问题,本文将详细介绍如何解决Spring MVC返回JSON的日期格式问题。 问题描述 在S…

    Java 2023年5月26日
    00
  • java.lang.String类的使用

    Java.lang.String类的使用 java.lang.String 类是 Java 标准库中最常用的类之一,用于表示字符串。本篇攻略旨在帮助读者全面了解 String 类的使用方法,并且提供几个示例说明。 基本使用 String 对象是不可变的,也就是说一旦创建了 String 对象,它的值将不能被更改。使用 String 类最基本的方法是创建一个新…

    Java 2023年5月27日
    00
  • 图解Java经典算法插入排序的原理与实现

    图解Java经典算法插入排序的原理与实现 插入排序是一种简单的排序算法,适用于小规模数据的排序,它的基本思想是将一个记录插入到已排好序的有序表中,形成一个新的有序表。此算法在计算机科学教育中是一个简单而重要的算法。 原理 插入排序的原理是:1. 从前向后依次选择未排序序列中的第一个元素;2. 将它插入到已排序的序列的合适位置中。 插入排序具体的实现方式是:-…

    Java 2023年5月19日
    00
  • Java后台返回和处理JSon数据的方法步骤

    Java后台返回和处理JSON数据的方法步骤可以分为以下几个步骤: 步骤一:导入JSON库 首先需要在Java项目中导入Json库,比较流行的有Gson和Jackson。这里以Gson为例: <!–导入Gson依赖–> <dependency> <groupId>com.google.code.gson</gro…

    Java 2023年5月26日
    00
  • java对象序列化与反序列化的默认格式和json格式使用示例

    Java对象序列化和反序列化是Java中常用的数据交换方式,其中序列化是将Java对象转换为字节流,可以储存到文件或网络流中,反序列化则是将字节流转换为Java对象。在Java中,序列化和反序列化的默认格式是二进制格式,而JSON格式则更加通用并且易于阅读。 默认格式的使用示例 序列化 当我们需要将一个Java对象进行序列化时,我们可以使用 ObjectOu…

    Java 2023年5月26日
    00
  • Spring引入外部属性文件配置数据库连接的步骤详解

    首先需要说明的是 Spring 引入外部属性文件配置数据库连接的过程非常简单,只需要遵循下面的几个步骤即可。 1. 创建属性文件 首先需要在项目的某个目录下创建一个属性文件,比如我们创建一个 db.properties 文件,用于存储数据库连接的相关信息,示例代码如下: jdbc.driver=com.mysql.jdbc.Driver jdbc.url=j…

    Java 2023年6月16日
    00
  • 详解SpringBoot定时任务说明

    下面我来详细讲解一下“详解SpringBoot定时任务说明”的完整攻略。 什么是SpringBoot定时任务? SpringBoot定时任务是指在特定的时间或周期性的执行一些任务,比如定时生成报表、清理数据库等。SpringBoot框架中提供了丰富的定时任务支持,可以通过简单的配置来实现这些任务。 定时任务的实现方式 基于注解和功能接口实现定时任务 Spri…

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