java中使用Files.readLines()处理文本中行数据方式

下面是详细的攻略:

1. 引入依赖

在使用 Files.readLines() 之前,我们需要先引入相应的依赖包。

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>30.1-jre</version>
</dependency>

2. 读取文件

使用 Files.readLines() 方法读取文件,需要指定文件路径和字符集编码。该方法会返回一个 List<String> 类型的集合,每个元素代表文件中的一行数据。以下是示例代码:

import com.google.common.io.Files;
import java.io.File;
import java.nio.charset.Charset;
import java.util.List;

public class ReadFile {
    public static void main(String[] args) throws Exception {
        File file = new File("example.txt");
        Charset charset = Charset.defaultCharset();
        List<String> lines = Files.readLines(file, charset);
        for (String line : lines) {
            System.out.println(line);
        }
    }
}

其中,example.txt 是文件的路径,Charset.defaultCharset() 表示使用默认的字符集编码。这段代码会逐行输出文件的内容。

3. 处理异常

如果文件不存在,或者读取文件出现错误,可能会抛出异常。可以使用 try-catch 语句来捕获并处理异常。以下是示例代码:

import com.google.common.io.Files;
import java.io.File;
import java.nio.charset.Charset;
import java.util.List;

public class ReadFile {
    public static void main(String[] args) {
        File file = new File("example.txt");
        Charset charset = Charset.defaultCharset();
        try {
            List<String> lines = Files.readLines(file, charset);
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

4. 示例

接下来,我提供两个示例来演示如何使用 Files.readLines() 处理文件中的行数据。

示例一

文件 example.txt 内容如下:

apple
banana
orange

我们可以使用以下代码来读取并输出文件内容:

import com.google.common.io.Files;
import java.io.File;
import java.nio.charset.Charset;
import java.util.List;

public class ReadFile {
    public static void main(String[] args) throws Exception {
        File file = new File("example.txt");
        Charset charset = Charset.defaultCharset();
        List<String> lines = Files.readLines(file, charset);
        for (String line : lines) {
            System.out.println(line);
        }
    }
}

运行结果:

apple
banana
orange

示例二

文件 example.csv 内容如下:

name,age,gender
张三,20,男
李四,22,女
王五,18,男

我们将数据读取到一个二维数组中,并输出第二行第二列的数据。示例代码如下:

import com.google.common.io.Files;
import java.io.File;
import java.nio.charset.Charset;
import java.util.List;

public class ReadFile {
    public static void main(String[] args) throws Exception {
        File file = new File("example.csv");
        Charset charset = Charset.defaultCharset();
        List<String> lines = Files.readLines(file, charset);
        String[][] data = new String[lines.size()][];
        for (int i = 0; i < data.length; i++) {
            String[] row = lines.get(i).split(",");
            data[i] = row;
        }
        System.out.println(data[1][1]);
    }
}

运行结果:

22

以上就是使用 Files.readLines() 处理文本行数据的攻略,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中使用Files.readLines()处理文本中行数据方式 - Python技术站

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

相关文章

  • Java面试题之HashMap 的 hash 方法原理是什么

    HashMap 的 hash 方法原理是什么 在了解HashMap的原理之前, 我们先看看hash散列表是怎么工作的, 他的原理是什么。 散列表的原理是将关键字通过散列函数映射到固定的位置上, 并对原始值进行处理, 最终得到的值就是我们所说的哈希值, 即在HashMap中所表现出来的值。在JDK1.7之前,HashMap的内部实现方式是数组 + 链表,数组的…

    Java 2023年5月26日
    00
  • SpringBoot2.7 WebSecurityConfigurerAdapter类过期配置

    下面就为您详细讲解SpringBoot 2.7版本中WebSecurityConfigurerAdapter类过期配置的完整攻略。 1. WebSecurityConfigurerAdapter类过期原因 在SpringBoot2.7版本中,WebSecurityConfigurerAdapter类的configure(HttpSecurity http)方…

    Java 2023年6月3日
    00
  • Java的Swing编程中使用SwingWorker线程模式及顶层容器

    Java的Swing编程中,使用SwingWorker线程模式以及顶层容器可以实现多线程的UI操作,避免了长时间运行的任务卡住了界面的情况。下面将详细介绍如何使用SwingWorker线程模式及顶层容器进行Swing编程。 一、SwingWorker线程模式 SwingWorker是Java提供的一个工具类,用于在后台线程中执行耗时的任务,并在任务完成后通知…

    Java 2023年5月26日
    00
  • jsp中获取当前目录的方法

    首先,要获取当前目录的绝对路径,可以使用request.getServletContext().getRealPath(“/”)方法。 具体实现步骤如下: 1.在JSP页面中嵌入Java代码块,使用request.getServletContext().getRealPath(“/”)获取当前目录的绝对路径。 <%@ page language=&qu…

    Java 2023年5月20日
    00
  • Java使用JSONObject需要的6个jar包下载地址

    以下是 “Java使用JSONObject需要的6个jar包下载地址”的完整攻略: 1. 确认使用JSONObject所需要的6个jar包 在使用Java进行JSON操作时,通常需要使用到JSONObject对象。而要使用JSONObject,则需要同时引入6个jar包。这6个jar包分别是: json-20200518.jar commons-lang-2…

    Java 2023年5月26日
    00
  • Java throw关键字的作用是什么?

    Java中的throw关键字是用于手动抛出异常的关键字,可以使得程序员在遇到特殊情况时自己构造出一个异常对象并抛出,从而中断程序的正常流程,进入异常处理。 throw关键字的语法格式为: throw throwableInstance; 其中throwableInstance可以是任何一个继承自Throwable的Java类的对象。根据Java的异常处理机制…

    Java 2023年4月27日
    00
  • Springboot2.x 使用 Log4j2 异步打印日志的实现

    下面是详细的攻略: 准备工作 首先,我们需要在Spring Boot项目中引入log4j2和log4j2-async两个依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log…

    Java 2023年5月26日
    00
  • java实现转圈打印矩阵算法

    Java实现转圈打印矩阵算法可以分为以下几个步骤: 给定一个m行n列的矩阵matrix,初始化行和列的起始、结束位置: int rowStart = 0; int rowEnd = matrix.length – 1; int colStart = 0; int colEnd = matrix[0].length – 1; 通过while循环,不断打印矩阵的…

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