InputStream 字节输入学习笔记

简介: 快速学习 InputStream 字节输入流

开发者学堂课程【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

图片33.png

二、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类方式

图片34.png

2、02类方式

图片35.png

3、03类方式

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

PublicFileinputStream(Filefile)throwsFileNotFoundException.

 

(2)范例:读取数据

图片36.png


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

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

 

五、注意事项

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

Public byte[]read AllBytes()throw IOException.

 

2、范例:新方法

图片37.png

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

相关文章
|
4月前
|
Java
使用java字节输入流读取文件
使用java字节输入流读取文件
|
5月前
|
移动开发 Java Linux
IO流:字节输出流FileOutputStream的超详细用法
IO流:字节输出流FileOutputStream的超详细用法
|
12月前
|
Java BI 数据处理
【JavaSE专栏73】字符输出流Writer,将字符数据输出至目标
【JavaSE专栏73】字符输出流Writer,将字符数据输出至目标
【JavaSE专栏73】字符输出流Writer,将字符数据输出至目标
|
12月前
|
Java 数据处理 数据安全/隐私保护
【JavaSE专栏74】字节输入流InputStream,用于从输入源读取字节数据的流
【JavaSE专栏74】字节输入流InputStream,用于从输入源读取字节数据的流
|
12月前
|
存储 Java 数据库
【JavaSE专栏75】字节输出流OutputStream,用于将字节数据写入到输出目标的流
【JavaSE专栏75】字节输出流OutputStream,用于将字节数据写入到输出目标的流
|
12月前
|
自然语言处理
转换流,字节字符的转换
转换流,字节字符的转换
|
Java
Java IO流之访问文件的字节输入流FileInputStream和字节输入流FileOutputStream的详解
Java IO流之访问文件的字节输入流FileInputStream和字节输入流FileOutputStream的详解
96 0
java:文件写入BufferedOutputStream写入字节和PrintWriter写入字符
java:文件写入BufferedOutputStream写入字节和PrintWriter写入字符
117 0