Java如何读取文件文本内容的几种方式汇总

这篇具有很好参考价值的文章主要介绍了Java如何读取文件文本内容的几种方式汇总。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java如何读取文件文本内容的几种方式汇总 - joshua317的博客

package com.joshua317;

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Stream;

public class FileDemo {
    static String filePath = "E:\\1.txt";
    public static void main(String[] args) throws IOException {
        readFile1();
//        readFile1_1();
//        readFile2();
//        readFile3();
//        readFile4();
//        readFile5();
//        readFile6();
//        readFile6_1();
//        readFile7();
//        readFile7_1();
    }

    /**
     * 字节流>字符流>字符串
     * 使用File,FileInputStream,InputStreamReader,BufferedReader
     * 使用FileInputStream,InputStreamReader,BufferedReader
     * @throws IOException
     */
    public static void readFile1() throws IOException {
//        使用File
//        File file = new File(filePath);
//        FileInputStream fileInputStream = new FileInputStream(file);

//        FileInputStream(字节流) 实现了InputStream接口,用来读取文件中的字节流,参数是文件或者文件路径+文件名称
        FileInputStream fileInputStream = new FileInputStream(filePath);
//        将 fileInputStream(字节流) 流作为参数,转为InputStreamReader(字符流)
        InputStreamReader reader = new InputStreamReader(fileInputStream);

//      将 字符流(参数)转为字符串流,带缓冲的流读取,默认缓冲区8k
        BufferedReader bufferedReader = new BufferedReader(reader);
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }
        fileInputStream.close();
        bufferedReader.close();
    }

    public static void readFile1_1() throws IOException {
//        使用File
//        File file = new File(filePath);
//        FileInputStream fileInputStream = new FileInputStream(file);

//        FileInputStream(字节流) 实现了InputStream接口,用来读取文件中的字节流,参数是文件或者文件路径+文件名称
        FileInputStream fileInputStream = new FileInputStream(filePath);
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        int i;
        while ((i = fileInputStream.read()) != -1) {
            byteArrayOutputStream.write(i);
        }
        System.out.println(byteArrayOutputStream.toString());
        fileInputStream.close();
        byteArrayOutputStream.close();
    }


    /**
     * 使用File,FileReader,BufferedReader
     * 使用FileReader,BufferedReader
     * @throws IOException
     */
    public static void readFile2() throws IOException {
//        使用File
//        File file = new File(filePath);
//        FileReader fileReader = new FileReader(file);

        FileReader fileReader = new FileReader(filePath);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }
        fileReader.close();
        bufferedReader.close();
    }

    /**
     * 使用FileReader
     * @throws IOException
     */
    public static void readFile3() throws IOException {
//        使用File
//        File file = new File(filePath);
//        FileReader fileReader = new FileReader(file);

        FileReader fileReader = new FileReader(filePath);
        int i;
        while ((i = fileReader.read()) != -1) {
            System.out.print((char)i);
        }
        fileReader.close();
    }

    /**
     * 使用Scanner
     * @throws IOException
     */
    public static void readFile4() throws IOException {
        File file = new File(filePath);
        Scanner sc = new Scanner(file);
        while (sc.hasNextLine()) {
            System.out.println(sc.nextLine());
        }
        sc.close();
    }

    /**
     * 读取整个文件
     * 使用Files.readAllBytes,Paths
     * @throws IOException
     */
    public static void readFile5() throws IOException {
        Path path = Paths.get(filePath);
        byte[] bytes = Files.readAllBytes(path);
        String data = new String(bytes);
        System.out.println(data);
    }

    /**
     * 读取整个文件
     * 使用Files.readAllLines,Paths,迭代器
     * @throws IOException
     */
    public static void readFile6() throws IOException {
        Path path = Paths.get(filePath);
        List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
        Iterator<String> itr = lines.iterator();
        while (itr.hasNext()) {
            System.out.println(itr.next());
        }
    }

    /**
     * 使用Files.lines
     * @throws IOException
     */
    public static void readFile6_1() throws IOException {
        Path path = Paths.get(filePath);
        Stream<String> lines = Files.lines(path);
        lines.forEach(e -> {
            System.out.println(e);
        });
    }

    /**
     * 使用Files.newBufferedReader
     * @throws IOException
     */
    public static void readFile7() throws IOException {
        Path path = Paths.get(filePath);
        BufferedReader bufferedReader= Files.newBufferedReader(path);
        String str;
        while ((str = bufferedReader.readLine())!=null){
            System.out.println(str);
        }
        bufferedReader.close();
    }

    public static void readFile7_1() throws IOException {
        Path path = Paths.get(filePath);
        BufferedReader bufferedReader= Files.newBufferedReader(path);
        String str;
        StringBuilder stringBuilder = new StringBuilder();
        while ((str = bufferedReader.readLine())!=null){
            stringBuilder.append(str + "\n");
        }
        System.out.println(stringBuilder.toString());
        bufferedReader.close();
    }
}

本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java如何读取文件文本内容的几种方式汇总 - joshua317的博客文章来源地址https://www.toymoban.com/news/detail-520183.html

到了这里,关于Java如何读取文件文本内容的几种方式汇总的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java读取资源路径的几种方式

    注意,以上是在Junit测试文件中的结果,工作可以精确到所在模块,而普通类里打印是只有主目录没有模块的,如下:

    2024年02月15日
    浏览(31)
  • Unity中常用的几种读取本地文件方式

    使用的命名空间如下 using LitJson; using System.Collections.Generic; using System.IO; using System.Text; using UnityEngine; using UnityEngine.Networking; 1、通过UnityWebRequest获取本地StreamingAssets文件夹中的Json文件 View Code 2、通过UnityWebRequest和StreamReader读取本地StreamingAssets文件夹中的Json文件 View Code  3、通

    2024年02月04日
    浏览(33)
  • 【SpringBoot系列】读取yml文件的几种方式

    前言 在Spring Boot开发中,配置文件是非常重要的一部分,而yml文件作为一种常用的配置文件格式,被广泛应用于Spring Boot项目中。Spring Boot提供了多种方式来读取yml文件中的属性值,开发者可以根据具体的需求和场景选择合适的方式。本文将介绍Spring Boot读取yml文件的主要方式

    2024年02月05日
    浏览(30)
  • 前端常用的上传下载文件的几种方式,直接上传、下载文件,读取.xlsx文件数据,导出.xlsx数据

    1.1根据文件流Blob进行下载 1.2根据下载文件链接直接进行下载 html

    2024年02月12日
    浏览(29)
  • 【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】

    Spring 框架可以说是 Java 开发中最重要的框架,功能 非常 强大 中文文档:https://springdoc.cn/spring/ 官网:https://spring.io/ Spring makes Java Simple、modern、productive … Spring 框架的几个核心概念: IoC: I nversion o f C ontrol:控制反转 DI: D ependency I njection:依赖注入 AOP: A spect O riented P rogram

    2024年02月09日
    浏览(32)
  • Java按行读取文件文本内容

    在工作和学习中,有时候会有一些场景,代码需要配合读取文件来执行,比如:读文件数据,来进行计算、组装SQL、更新操作...... 下面我们来讨论下,在Java中按行读取文件文件内容的方式有哪些? 读取的文件内容 测试代码 输出结果 分析:虽然读取1个字符,但每行后面可能

    2024年02月15日
    浏览(51)
  • Java解压RAR文件的几种方式

    2024年02月16日
    浏览(36)
  • Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理

    目录 Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理 一、简单介绍 二、实现原理 三、注意事项 四、简单实现步骤 五、关键代码 附录: 一、不同平台使用宏区分路径加载 二、Unity3D中的资源路径 三、Unity3D各平台路径(包括手

    2024年01月19日
    浏览(54)
  • SpringBoot读取配置的几种方式

    1.第一种@Value 注意:static和final修饰的变量不生效 2.通过@ConfigurationProperties(prefix=“”)   适用于对对象多个变量统一绑定,比@Value高效 3.通过Environment Spring底层提供的API动态获取变量值    4.通过@PropertySources获取外部文件路径,再通过@Value获取值  只能读取properties文件

    2024年02月15日
    浏览(28)
  • UNITY--读取Excel的几种方式

    目录 一.DLL插件读取 1.1.Excel存放位置 1.2.使用示例 1.3.Excel格式  1.4.输出显示  1.5.所需插件 二.Excel转成Asset文件,再进行读取 2.1Excel文件存放位置 2.2 编辑模式生成Asset文件,并保存到指定位置  2.3创建ExcelRead脚本,读取Excel内容 2.4 创建数据存储脚本 2.5  编辑器生成Asset 与属

    2024年01月20日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包