JAVA文件读取常用工具类(8种)

为了方便在Java中读取文件,我们通常使用Java文件读取工具类。下面是8种常用的Java文件读取工具类: BufferedReader、Scanner、InputStreamReader、FileInputStream、FileReader、LineNumberReader、RandomAccessFile和BufferedInputStream。

  1. BufferedReader

BufferedReader类是Java标准类库中用于读取文本文件最常用的工具类之一。该类可以一次读取一行或多行文本,然后将其存储到缓冲区中,从而提高了读取效率。

以下是使用BufferedReader类读取文本文件的示例代码:

try {
    BufferedReader reader = new BufferedReader(new FileReader("path/to/textfile.txt"));
    String line = reader.readLine();
    while (line != null) {
        System.out.println(line);
        line = reader.readLine();
    }
    reader.close();
} catch (IOException e) {
    e.printStackTrace();
}
  1. Scanner

Scanner是一个解析器,它可以从文件、键盘输入、字符串等读取数据,具有非常灵活和方便的API,并且可以易于获取用户输入。

以下是使用Scanner类读取文本文件的示例代码:

try {
    Scanner scanner = new Scanner(new FileReader("path/to/textfile.txt"));
    while (scanner.hasNextLine()) {
        System.out.println(scanner.nextLine());
    }
    scanner.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
}
  1. InputStreamReader

InputStreamReader是Java的基本字节到字符的桥梁,可以通过使用指定的字符集读取字节流并将其解码为字符流。

以下是使用InputStreamReader类读取文本文件的示例代码:

try {
    InputStreamReader reader = new InputStreamReader(new FileInputStream("path/to/textfile.txt"), StandardCharsets.UTF_8);
    int data = reader.read();
    while(data != -1){
        char currentChar = (char) data;
        System.out.print(currentChar);
        data = reader.read();
    }
    reader.close();
} catch (IOException e) {
    e.printStackTrace();
}
  1. FileInputStream

FileInputStream是Java API提供的一个用于读取文件的类,提供了读取文件中字节流的方法。

以下是使用FileInputStream类读取文本文件的示例代码:

try {
    FileInputStream inputStream = new FileInputStream("path/to/textfile.txt");
    byte[] bytes = new byte[1024];
    int bytesRead = inputStream.read(bytes);
    while (bytesRead != -1) {
        for (int i = 0; i < bytesRead; i++) {
            System.out.print((char) bytes[i]);
        }
        bytesRead = inputStream.read(bytes);
    }
    inputStream.close();
} catch (IOException e) {
    e.printStackTrace();
}
  1. FileReader

FileReader是Java IO包提供的一个用于读取文件的类,可以按字符读取文件内容。

以下是使用FileReader类读取文本文件的示例代码:

try {
    FileReader reader = new FileReader("path/to/textfile.txt");
    int data = 0;
    while ((data = reader.read()) != -1) {
        System.out.print((char) data);
    }
    reader.close();
} catch (IOException e) {
    e.printStackTrace();
}
  1. LineNumberReader

LineNumberReader是BufferedReader的子类,可以用来从文件中读取文本,并同时跟踪行号。

以下是使用LineNumberReader类读取文本文件的示例代码:

try {
    LineNumberReader reader = new LineNumberReader(new FileReader("path/to/textfile.txt"));
    String line = reader.readLine();
    while (line != null) {
        System.out.println(reader.getLineNumber() + ": " + line);
        line = reader.readLine();
    }
    reader.close();
} catch (IOException e) {
    e.printStackTrace();
}
  1. RandomAccessFile

RandomAccessFile是Java API中用于读取和写入文件的类之一,它提供了向文件中随意位置写入数据和读取数据的接口。

以下是使用RandomAccessFile类读取文本文件的示例代码:

try {
    RandomAccessFile file = new RandomAccessFile("path/to/textfile.txt", "r");
    String line = "";
    while ((line = file.readLine()) != null) {
        System.out.println(line);
    }
    file.close();
} catch (IOException e) {
    e.printStackTrace();
}
  1. BufferedInputStream

BufferedInputStream是Java API提供的一个用于读取字节流的高效缓冲区输入流。

以下是使用BufferedInputStream类读取文本文件的示例代码:

try {
    BufferedInputStream bis = new BufferedInputStream(new FileInputStream("path/to/textfile.txt"));
    byte[] buffer = new byte[1024];
    int bytesRead = 0;
    while ((bytesRead = bis.read(buffer)) != -1) {
        System.out.print(new String(buffer, 0, bytesRead));
    }
    bis.close();
} catch (IOException e) {
    e.printStackTrace();
}

以上是8种常用的Java文件读取工具类,通过这些例子,你可以在Java中根据需要选择适当的文件读取方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA文件读取常用工具类(8种) - Python技术站

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

相关文章

  • java中使用session监听实现同帐号登录限制、登录人数限制

    Java中使用Session监听器可以很好地实现同账号登录限制和登录人数限制的功能。以下是实现这一功能的完整攻略: 一、实现同账号登录限制 1.编写Session监听器 在Web项目中的WEB-INF目录下新建一个名为session的包,并在包中新建一个Java类SessionListener。下面是一个参考示例: package session; impo…

    Java 2023年6月16日
    00
  • spring kafka @KafkaListener详解与使用过程

    Spring Kafka @KafkaListener详解与使用过程 简介 Spring Kafka 为 Kafka 提供了 Producer 和 Consumer 的封装,提供了方便的API让我们在Spring Boot项目中使用Kafka。其中 @KafkaListener 的注解为我们编写 Kafka Consumer 提供便利。 使用步骤 使用 Sp…

    Java 2023年6月2日
    00
  • 高价值Java多线程面试题分析

    高价值Java多线程面试题分析攻略 1. 多线程基础知识 在面试过程中,多线程基础知识往往是被考查的重点。这里列举一些常见的面试题: 如何创建线程? 线程的状态有哪些? 线程安全是什么? synchronized和ReentrantLock的区别? wait()和sleep()的区别? volatile关键字的作用? 对于这些问题,我们要明确掌握线程的基本概…

    Java 2023年5月19日
    00
  • JSP中表达式的使用详解

    《JSP中表达式的使用详解》攻略 一、JSP表达式的介绍 JSP表达式一般用于将变量、常量、函数等的值输出到页面上。 语法格式: <%= 表达式 %> 其中,等号和百分号之间不要有空格。 二、表达式中可使用的内容 变量和常量 在表达式中可以使用变量或常量的值,如: <%= name %> <%= 1234 %> 表达式运算…

    Java 2023年6月15日
    00
  • Java的基本数据类型和运算方法(必看篇)

    Java的基本数据类型和运算方法(必看篇) Java中的基本数据类型包括八种:byte、short、int、long、float、double、char、boolean。 整型 主要包括 byte、short、int、long 四种类型。其中 byte 类型占用 1 个字节,取值范围为 -128 到 127;short 类型占用 2 个字节,取值范围为 -3…

    Java 2023年5月20日
    00
  • 一文详解Java线程的6种状态与生命周期

    一文详解Java线程的6种状态与生命周期 线程生命周期 Java线程的生命周期可以分为6种不同的状态:1. New(新建): 当线程对象被创建时,它处于新建状态,但还没有开始运行。2. Runnable(可运行): 当调用start()方法时,线程进入可运行状态,等待被线程调度器分派时间片得以运行。3. Blocked(阻塞): 线程被阻塞于某一个等待状态,…

    Java 2023年5月19日
    00
  • 搭建简单的Spring-Data JPA项目

    搭建简单的Spring-Data JPA项目可分为以下几个步骤: 第一步:创建Maven项目 首先需要创建一个Maven项目,然后在pom.xml中导入Spring-Data JPA以及Hibernate等相关依赖。 示例代码: <dependency> <groupId>org.springframework.data</gr…

    Java 2023年6月3日
    00
  • 浅谈异常结构图、编译期异常和运行期异常的区别

    浅谈异常结构图、编译期异常和运行期异常的区别攻略 异常结构图 异常结构图通常用来描述异常的类型、继承关系以及异常的处理架构。通常情况下,异常结构图包括三部分:Throwable、Error和Exception。其中,Throwable是所有异常类型的根类,Error用来描述系统级错误,Exception则是普通异常的父类。 graph TD Throwabl…

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