inputstreamreader和inputstream_FileInputStream

inputstreamreader和inputstream_FileInputStreamInputStreamReader类:java.io.InputStreamReaderextendsReaderInputStreamReader:是字节流通向字符流的桥梁:他使用指定的charset读取字节并将其解码为字符。(解码:把看不懂的变为能看懂的)继承自父类的共性成员方法:intread()读取单个字符并返回intread(char[]cbuf)一次读取多个字符,经字符读入数组中voidclose()关闭该流并释放与之关联的所有资源构造方

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

InputStreamReader类:

java.io.InputStreamReader extends Reader
InputStreamReader:是字节流通向字符流的桥梁:他使用指定的charset读取字节并将其解码为字符。(解码:把看不懂的变为能看懂的)

继承自父类的共性成员方法:
    int read() 读取单个字符并返回
    int read(char[] cbuf) 一次读取多个字符,经字符读入数组中
    void close() 关闭该流并释放与之关联的所有资源

构造方法:
    InputStreamReader(InputStream in) 创建一个使用默认字符集的InputStreamReader
    InputStreamReader(InouStream in,String charsetName) 创建使用指定字符集的 InputStreamReader
    参数:
        InputStream in:字节输入流,用来读取文件中保存的字节
        String charsetName:指定的编码表名称,不区分大小写,可以是utf-8/UTF-8,gbk/GBK,...不指定默认使用UTF-8
使用步骤:
    1.创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称
    2.使用InputStreamReader对象中的方法read读取文件
    3.释放资源。
注意事项:
    构造方法中指定的编码表名称要和文件的编码相同,否则会发生乱码

代码:

public class Demo03InputStreamReader { 
   
    public static void main(String[] args) throws IOException { 
   
       // read_utf_8();
       read_gbk();
    }

    /* 使用InputStreamReader读取GBK格式的文件 */
    private static void read_gbk() throws IOException { 
   
        //1.创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称
        InputStreamReader isr = new InputStreamReader(new FileInputStream("day10_IO\\gbk.txt"),"GBK");
        //2.使用InputStreamReader对象中的方法read读取文件
        int len = 0;
        while((len = isr.read()) != -1){ 
   
            System.out.println((char)len);
        }
        //3.释放资源。
        isr.close();
    }

    /* 使用InputStreamReader读取UTF-8格式的文件 */
    private static void read_utf_8() throws IOException { 
   
        //1.创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称
        InputStreamReader isr = new InputStreamReader(new FileInputStream("day10_IO\\utf_8.txt"),"UTF-8");
        //2.使用InputStreamReader对象中的方法read读取文件
        int len = 0;
        while((len = isr.read()) != -1){ 
   
            System.out.println((char)len);
        }
        //3.释放资源。
        isr.close();
    }
}

代码实现:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189396.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python中int是什么类型

    python中int是什么类型python中的基本数据类型1:虽然python中的变量不需要声明,但使用时必须赋值整形变量浮点型变量字符型2:可以一个给多个变量赋值,也可以多个给多个变量赋值3:python3中有6个标准数据类型

    2022年7月5日
    27
  • 单源最短路径算法[通俗易懂]

    单源最短路径算法[通俗易懂]最短路径问题:如果从图中某一顶点(称为源点)到达另一顶点(称为终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边上的权值总和达到最小。当然这只是最基础的应用,关于单源最短路径还有很多变体:1.单源最短路径2.单目的地最短路径3.单节点对最短路径4.所有节点对最短路径最短路径定义:路径p=的权是指组成p的所有边的权值之和从u到v的最短路径的权为

    2022年5月20日
    66
  • JVM内存逃逸[通俗易懂]

    JVM内存逃逸[通俗易懂]JVM内存逃逸第一次听到JVM内存逃逸的名词时还是很懵逼的,于是赶紧各种查资料,终于搞懂了这个地方。JVM的内存分配主要在是运行时数据区(RuntimeDataAreas),而运行时数据区又分为了:方法区,堆区,PC寄存器,Java虚拟机栈(就是栈区,官方文档还是叫Java虚拟机栈),本地方法区,而内存逃逸主要是对象的动态作用域的改变而引起的,故而内存逃逸的分析就是分析对象的动态作…

    2022年5月30日
    25
  • MySQL查看实时执行的SQL语句

    MySQL查看实时执行的SQL语句

    2022年2月17日
    43
  • GridView控件

    GridView控件

    2021年11月15日
    41
  • USB转RS485代替PC/PPI通讯电缆

    USB转RS485代替PC/PPI通讯电缆S7-200的CPU使用的是RS485,PC机有RS232口和USB口,两种接口电气规范不同,需要用中间电路转换成同一接口类型。现在常用的PC/PPI其实就是一根USB/RS485的匹配电缆。

    2022年5月7日
    182

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号