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();
    }
}

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • HP磁盘阵列损坏的修复

    HP磁盘阵列损坏的修复公司中有一台HPDL380G5服务器硬盘红灯报警,使用ACU工具查看后,显示磁盘损坏,截图如下:更换磁盘后,显示正在重建,即属于正常,截图如下:更换硬盘前需要确认硬盘是什么型号,哪个系列的,以及硬盘的大小:最重要的是SPARE号一定要保持一致。下面给大家提供一下更换磁盘的一些资料以及注意事项:1、更换的磁盘与原先的磁盘无比保持大小相同,型号…

  • samba文件共享服务器,全网最详细的samba文件共享服务![通俗易懂]

    samba文件共享服务器,全网最详细的samba文件共享服务![通俗易懂]了解samba:1.samba是linux共享文件系统,将SMB(服务消息块)/CIFS(通用网络文件系统)协议在linux中进行实现,让linux、unix、windows系统之间可以相互访问文件共享。2.samba服务相关知识点:1samba是C/S(客户端/服务器)架构,2监听TCP/139及TCP/445(由smbd程序监听),监听UDP/137和UDP/138(由nmbd程序监听)…

  • 激活成功教程版补丁_PyCharm永久激活2021

    激活成功教程版补丁_PyCharm永久激活2021参考https://www.cnblogs.com/pupilheart/p/9734124.html实测可行。——————————————————————————————————2019年01月15日更新最新测试该,博客的激活成功教程文件JetbrainsIdesCrack-3.1-release-sha1.jar,最后激活步骤显示keyisinvalid,测试了几个网站激活码发现均…

  • AngularJS指令「建议收藏」

    AngularJS指令「建议收藏」AngularJS指令AngularJS通过被称为指令的新属性来扩展HTML。AngularJS通过内置的指令来为应用添加功能。AngularJS允许你自定义指令。小栗子:

    在输入框中尝试输入:

    姓名:

  • blender模型(sklearn模型融合)

    前言机器学习中很多训练模型通过融合方式都有可能使得准确率等评估指标有所提高,这一块有很多问题想学习,于是写篇博客来介绍,主要想解决:什么是融合?几种方式融合基本的模型融合组合及适用场景、优缺点等什么是融合?构建并结合多个学习器来完成学习任务,我们把它称为模型融合或者集成学习。不同的模型有各自的长处,具有差异性,而模型融合可以使得发挥出各个模型的优势,让这些相对较弱的模型(学习器)通…

  • qlineedit右键菜单_qlineedit设置背景颜色

    qlineedit右键菜单_qlineedit设置背景颜色  做项目的时候,很多时候会遇到要在编辑框的右边添加一个按钮,用于弹出其他窗口选择内容后再填入编辑框,一种做法是添加一个QLineEdit再在后面加一个QPushButton然后进行布局,但这样不太好看。  其实QLineEdit是支持在右边添加按钮的。实现代码如下: QLineEdit*editor=newQLineEdit(parent); QToolButton*btn=…

发表回复

您的电子邮箱地址不会被公开。

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