Java-API简析_java.io.InputStreamReader类(基于 Latest JDK)(浅析源码)

news/2024/7/6 6:33:02

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/131734299
出自【进步*于辰的博客】

因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。

文章目录

  • 1、概述
  • 2、构造方法摘要
    • 2.1 InputStream in
    • 2.2 InputStream in, Charset cs
    • 2.3 InputStream in, CharsetDecoder dec
    • 2.4 InputStream in, String charsetName
  • 3、方法摘要
    • 3.1 void close()
    • 3.2 String getEncoding()
    • 3.3 int read()
    • 3.4 int read(char[] cbuf, int offset, int length)
    • 3.5 boolean ready()

1、概述

继承关系:

  • java.lang.Object
    • java.io.Reader
      • java.io.InputStreamReader

所有已实现的接口:
Closeable、Readable

直接已知子类:
FileReader


public class InputStreamReader extends Reader

InputStreamReader 是字节流通向字符流桥梁:它使用指定的 charset 读取字节并将其解码为字符它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集

每次调用 InputStreamReader 中的一个 read() 方法都会导致从基础输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从基础流读取更多的字节,使其超过满足当前读取操作所需的字节。

为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。例如:

BufferedReader in
  = new BufferedReader(new InputStreamReader(System.in));

从以下版本开始:
JDK1.1
另请参见:
BufferedReader、InputStream, Charset

2、构造方法摘要

2.1 InputStream in

创建一个使用默认字符集的 InputStreamReader。

2.2 InputStream in, Charset cs

创建使用给定字符集的 InputStreamReader。

2.3 InputStream in, CharsetDecoder dec

创建使用给定字符集解码器的 InputStreamReader。

2.4 InputStream in, String charsetName

创建使用指定字符集的 InputStreamReader。

3、方法摘要

3.1 void close()

关闭该流。

3.2 String getEncoding()

返回此流使用的字符编码的名称。

3.3 int read()

读取单个字符。

3.4 int read(char[] cbuf, int offset, int length)

将字符读入数组中的某一部分。

3.5 boolean ready()

告知是否准备读取此流。


本文持续更新中。。。


http://www.niftyadmin.cn/n/4636564.html

相关文章

前端每周清单第 55 期: MobX 4 特性概览,iOS Hacks 分享, 分布式事务详解

前端每周清单第 55 期: MobX 4 特性概览,iOS Hacks 分享, 分布式事务详解 作者:王下邀月熊 编辑:徐川 前端每周清单专注大前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、…

iOS开发-AR初探

2019独角兽企业重金招聘Python工程师标准>>> 工具 Xcode9iOS 11新建工程 到这里,你什么都不需要做,启动项目就可以看见一架飞机。 关键词和关键类 关键词:场景视图,场景,几何,节点,渲…

linux 不重启识别新添加的硬盘

1.fdisk -l 看有没有新的磁盘 oebiotechhadoop08:/media/nbc9$ sudo fdisk -l |grep sdl 2.查看主机总线 oebiotechhadoop08:/media/nbc9$ ls /sys/class/scsi_host/host0 3.重新扫描scsi总线发现设备 echo "- - -" > /sys/class/scsi_host/host0/scan 4.fdisk -l…

Android 实现边听边录音探究

为什么80%的码农都做不了架构师?>>> 你需要有一些关于音频的基本认识,如果你还不是很了解,建议先阅读前面两篇文章。 写给小白的音频认识基础Android上一种效果奇好的混音方法介绍场景描述 音乐中只有一种声音有时候很单薄的&…

vue.js除了动态路由,前端权限还可以这么玩

索引 概述基于指令基于组件权限的定义概述 关于动态路由的相关处理,请参考本人的另一篇文章vue.js前后端分离后台,该如何根据用户权限处理前端显示和后台接口访问,本文作为上一篇的续作有时候仅处理菜单,是不够的,很多…

如何根据页面高度让dropdown的方向自适应

根据需要&#xff0c;下拉框要根据距离底边的高度来决定&#xff0c;下拉框的方向 如图所示 正常显示 这是页面的高度不是足够高的时候改变方向显示 html代码&#xff1a; //用来点击显示dropdown的按钮<drop-box-anchor (click)"adjustPositionOfDropDown($event)&qu…

新建虚拟机相关操作

假设&#xff1a;磁盘为 /dev/xvda;创建分区为:/dev/xvda3;vg名称为vg_svr110一、修改主机名vi /etc/sysconfig/network修改hostname项&#xff0c;将XXX.wuhunews的前缀改为适当内容&#xff0c;保存退出二、修改IP地址vi /etc/sysconfig/network-scripts/ifcfg-eth0将IPADDR…

在react-native中使用redux

redux是什么? redux是一个用于管理js应用状态的容器。redux出现时间并不是很长&#xff0c;在它出现之前也有类似功能的模块出现&#xff0c;诸如flux等等。redux设计的理念很简单&#xff0c;似乎最初这个开发团队就有让redux可以方便融入在server, browser, mobile client端…