且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

InputStream 字节输入学习笔记

更新时间:2022-08-24 13:39:31

开发者学堂课程【Java 高级编程:InputStream 字节输入流】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/20/detail/311


InputStream 字节输入流


目录:


OutputStream 类的定义

二、InputStream 类核心方法

三、读取方式

四、对于字节输入流里面最为麻烦的问题

五、注意事项

 

一、OutputStream 类的定义

与 OutputStream 类对应的一个流就是字节输入流,InputStream 类主要实现的就字节数据读取,该类定义如下:

 

Public abstract class InputStream

Extends Objetc  

implements Closeable

InputStream 字节输入学习笔记

二、InputStream类的核心方法:

在 InputStream 类里面定义了如下的几个核心方法:

No

方法名称

类型


01

public abstract int read) throws IOException

普通

读取单个字节数据,如果现在已经读取到底了,返回-1

02

public int read(byte[] b) throws IOException

普通

的个数,如果没有数据读取,已经读取到底了,则返回-1

03

public int read(byte[] b, int off, int len) throws

 

IOException

普通

读取一组字节数据,只占数组的部分


三、读取方式

1、01类方式

InputStream 字节输入学习笔记

2、02类方式

InputStream 字节输入学习笔记

3、03类方式

(1)InputStream 类属于一个抽象类,这时应该依靠它的子类来实例化对象,如果要从文件读取,则一定要使用 FileInputStream 子类,对于子类而言,只关心父类对象实例化,构造方法:

PublicFileinputStream(Filefile)throwsFileNotFoundException.

 

(2)范例:读取数据

InputStream 字节输入学习笔记


四、字节输入流里面最为麻烦的问题

对于字节输入流里面最为麻烦的问题就在于:使用 read() 方法读取的时候只能够以字节数组为主进行接收。

 

五、注意事项

1、特别需要注意的是从 JDK1.9 开始在 InputStream 类里面增加了一个新的方法:

Public byte[]read AllBytes()throw IOException.

 

2、范例:新方法

InputStream 字节输入学习笔记

如果你现在要读取的内容很大很大的时候,那么这种读取直接搞死你的程序。