java io文件操作从文件读取数据的六种方法

Java IO是Java编程语言的核心库之一,它通过提供一组类和接口,使我们能够进行文件和数据流的操作。在Java IO中,文件读取是常见的操作之一。下面我们将介绍Java IO文件操作从文件读取数据的六种方法。

方法一、使用FileInputStream和Scanner类

  1. 首先使用FileInputStream类创建一个字节流对象。
  2. 创建一个Scanner对象,使用字节流作为Scanner的输入流。
  3. 使用Scanner的各种方法从字节流中读取数据。

示例代码:

import java.io.*;
import java.util.Scanner;

public class ReadFileExample1 {
    public static void main(String[] args) throws FileNotFoundException {
        FileInputStream inputStream = new FileInputStream("test.txt");
        Scanner scanner = new Scanner(inputStream);
        while (scanner.hasNext()) {
            System.out.println(scanner.nextLine());
        }
        scanner.close();
    }
}

方法二、使用BufferedReader和FileReader类

  1. 首先使用FileReader类创建一个字符流对象。
  2. 创建一个BufferedReader对象,使用字符流作为BufferedReader的输入流。
  3. 使用BufferedReader的readLine方法从字符流中读取数据。

示例代码:

import java.io.*;

public class ReadFileExample2 {
    public static void main(String[] args) throws IOException {
        FileReader reader = new FileReader("test.txt");
        BufferedReader bufferedReader = new BufferedReader(reader);
        String line = null;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }
        bufferedReader.close();
    }
}

方法三、使用Scanner和File类

  1. 使用File类创建一个文件对象。
  2. 创建一个Scanner对象,使用文件作为Scanner的输入流。
  3. 使用Scanner的各种方法从文件中读取数据。

示例代码:

import java.io.*;
import java.util.Scanner;

public class ReadFileExample3 {
    public static void main(String[] args) throws FileNotFoundException {
        File file = new File("test.txt");
        Scanner scanner = new Scanner(file);
        while (scanner.hasNext()) {
            System.out.println(scanner.nextLine());
        }
        scanner.close();
    }
}

方法四、使用BufferedReader和InputStreamReader类

  1. 使用FileInputStream类创建一个字节输入流对象。
  2. 使用InputStreamReader类创建一个字符输入流对象,并将字节输入流作为参数传入。
  3. 创建一个BufferedReader对象,使用字符输入流作为BufferedReader的输入流。
  4. 使用BufferedReader的readLine方法从字符流中读取数据。

示例代码:

import java.io.*;

public class ReadFileExample4 {
    public static void main(String[] args) throws FileNotFoundException, IOException {
        FileInputStream inputStream = new FileInputStream("test.txt");
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
        String line = null;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }
        bufferedReader.close();
    }
}

方法五、使用Scanner和BufferedInputStream类

  1. 使用FileInputStream类创建一个字节输入流对象。
  2. 创建一个BufferedInputStream对象,使用字节输入流作为BufferedInputStream的输入流。
  3. 创建一个Scanner对象,使用BufferedInputStream作为Scanner的输入流。
  4. 使用Scanner的各种方法从输入流中读取数据。

示例代码:

import java.io.*;
import java.util.Scanner;

public class ReadFileExample5 {
    public static void main(String[] args) throws FileNotFoundException {
        FileInputStream inputStream = new FileInputStream("test.txt");
        BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
        Scanner scanner = new Scanner(bufferedInputStream);
        while (scanner.hasNext()) {
            System.out.println(scanner.nextLine());
        }
        scanner.close();
    }
}

方法六、使用Files和Stream接口

  1. 使用Files类读取文件内容,并返回Stream流对象。
  2. 使用Stream流对象的各种方法从输入流中读取数据。

示例代码:

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;

public class ReadFileExample6 {
    public static void main(String[] args) throws IOException {
        Stream<String> stream = Files.lines(Paths.get("test.txt"));
        stream.forEach(System.out::println);
        stream.close();
    }
}

以上就是Java IO文件操作从文件读取数据的六种方法的详细攻略,每种方法都有对应的示例代码,可以根据具体需求选择使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java io文件操作从文件读取数据的六种方法 - Python技术站

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

相关文章

  • Spring Data Jpa实现自定义repository转DTO

    针对这个话题,我提供以下完整攻略,包括两条示例说明。 Spring Data Jpa实现自定义repository转DTO 背景 在实际开发中,通常需要将领域模型(Entity)转换成数据传输对象(DTO)输出给客户端。如果每个DTO都手动转换一次,那么会导致大量的重复代码和工作量,因此我们需要一个高效的方式来完成这个任务。本文介绍如何通过Spring Da…

    Java 2023年6月3日
    00
  • Java过滤器与监听器间区别与联系

    Java过滤器与监听器的区别和联系 本文主要讲解Java Web中过滤器和监听器的区别和联系。过滤器(Filter)和监听器(Listener)都可以通过Web.xml进行配置,并且也可以通过注解的方式进行配置。 过滤器(Filter) 过滤器是在请求被处理之前对http请求和response进行预处理的技术,它可以拦截客户端发送的请求和服务器返回的响应,同…

    Java 2023年6月15日
    00
  • servlet监听实现统计在线人数功能 附源码下载

    这里提供一个基于Servlet监听器的统计在线人数的实现方法,如果学习Java Web开发,这是一道需要掌握的入门练习题目。 实现思路 编写一个Servlet监听器,实现 ServletContextAttributeListener 接口 在监听器中编写监听器方法,实现当用户绘制request时添加ServletContextListener储存在线人数,…

    Java 2023年6月15日
    00
  • java复制文件的4种方式及拷贝文件到另一个目录下的实例代码

    Java复制文件的4种方式及拷贝文件到另一个目录下的实例代码 在Java中,复制文件可以使用多种方式,这里详细介绍4种常用的方法及对应的实例代码。 1. 使用 InputStream 和 OutputStream 进行复制 第一种方式是使用 InputStream 和 OutputStream,具体步骤如下: 创建 File 对象表示输入文件和输出文件; 创…

    Java 2023年5月20日
    00
  • MyBatis执行动态SQL的方法

    MyBatis 是一款开源的持久化框架,支持动态 SQL 的执行,可以方便地编写灵活的 SQL 语句,本文将详细讲解 MyBatis 执行动态 SQL 的方法,包括以下内容: 动态 SQL 的概念与背景 MyBatis 中执行动态 SQL 的方法 MyBatis 中使用动态 SQL 的示例 1. 动态 SQL 的概念与背景 传统的 SQL 语句是静态的,不能…

    Java 2023年5月19日
    00
  • Struts2 $,#,%详解及实例代码

    Struts2 $,#,% 详解及实例代码 引言 在处理 Struts2 代码时,经常可以看到一些用于处理 EL 表达式和字符串的字符,例如 $、#、% 等。这些字符在 Struts2 的开发中可以起到非常关键的作用。本文将介绍以下几个知识点: 关于 $、#、% 三个字符的作用以及使用场景 $ 和 # 在 Struts2 中的区别 $ 和 # 的示例代码 %…

    Java 2023年5月20日
    00
  • 使用Java构造和解析Json数据的两种方法(详解一)

    使用Java构造和解析JSON数据的两种方法有:使用Java的JSONObject和JSONArray类和使用第三方库Gson。 使用Java的JSONObject和JSONArray类 在使用该方法前,需要先导入JSON库,例如org.json库。 构造JSON数据 使用JSONObject和JSONArray类可以方便地构造JSON数据。JSONObje…

    Java 2023年5月26日
    00
  • SpringBoot2.0+阿里巴巴Sentinel动态限流实战(附源码)

    “SpringBoot2.0+阿里巴巴Sentinel动态限流实战(附源码)”是一篇关于使用SpringBoot和阿里巴巴Sentinel进行动态限流的文章。本文中包含了完整的源代码和详细的说明,可以帮助开发者快速地了解并实现动态限流功能。 一、文章概述 本文主要介绍了如何使用 SpringBoot2.0 和阿里巴巴 Sentinel 实现动态限流。内容包括…

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