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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • gcc在Ubuntu上安装和使用「建议收藏」

    gcc在Ubuntu上安装和使用「建议收藏」安装使用命令sudoaptinstallbuild-essential,该命令将安装一堆新包,包括gcc,g++和make。要验证GCC编译器是否已成功安装,可以使用gcc-v命令打印GCC版本:使用gcc命令格式如下:gcc[选项][文件名字]主要选项如下:-c:只编译不链接为可执行文件,编译器将输入的.c文件编译为.o的目标文件。-o:<输出文件名>用来指定编译结束以后的输出文件名,如果不使用这个选项的话GCC默认编译出来的可执行文件名字为a

    2022年7月24日
    9
  • jedis取存 数据库查到的对象_jediscluster存储对象「建议收藏」

    jedis取存 数据库查到的对象_jediscluster存储对象「建议收藏」Redis常见的几种主要使用方式:Redis单副本Redis多副本(主从)RedisSentinel(哨兵)RedisCluster(集群)Redis自研Redis各种使用方式的优缺点:1Redis单副本Redis各种使用方式的优缺点:Redis多副本,采用主从(replication)部署结构,相较于单副本而言最大的特点就是主从实例间数据实时同步,并且提供数据持久化和备份策…

    2022年10月9日
    3
  • linux命令行修改用户名_linux 更改用户密码

    linux命令行修改用户名_linux 更改用户密码一、《Linux的chmod命令》。在shell中,可以使用chown命令来改变文件所有者及用户组,chgrp命令来改变文件所在用户组。在Linux的C程序中,可以使用chown函数来改变文件所有者,及所在用户组。另外,在shell中,要修改文件当前的用户必须具有管理员root的权限。可以通过su命令切换到root用户,也可以通过sudo获得root的权限。二、使用chown命令更改文件拥有…

    2022年9月17日
    2
  • 用EnableMenuItem不能使菜单变灰的原因

    用EnableMenuItem不能使菜单变灰的原因

    2021年12月16日
    42
  • linux系统如何修改用户名_两种方案对比报告

    linux系统如何修改用户名_两种方案对比报告在安装系统的时候,经常会无意识的随便起个用户名,后面如果发现该用户名不好或因为环境需要须重起个用户名,经过查找资料和亲自测试发现有两种方案可选:手动修改和使用usermod等命令自动修改。方案一:手动修改各个关联用户文件以root身份登录系统文件的修改需要root权限,这里不管是原root用户登录还是普通用户切换到root下都可以,只要有修改权限就行。修改/etc/passwd这个文件中的用户名部

    2022年9月13日
    2
  • Junit测试类线程执行睡眠sleep()后次线程后面的程序不能进行

    Junit测试类线程执行睡眠sleep()后次线程后面的程序不能进行Junit测试类线程执行睡眠sleep()后次线程后面的程序不能进行

    2022年4月23日
    239

发表回复

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

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