1、二进制文件和文本文件?
在介绍文件读写技术之前,有必要先了解一下二进制文件和文本文件。
其实二进制文件和文本文件在物理存储上并没有什么区别,存储在硬盘上的文件都是以二进制方式存储的。二者的区别在于解释数据的逻辑不同。
文本文件:这类文件以文本的ASCII码形式存储在计算机中。它是以"行"为基本结构的一种信息组织和存储方式。
二进制文件:这类文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们,只有通过相应的软件才能将其显示出来。二进制文件一般是可执行程序、图形、图像、声音等等。
(1)程序读取文本文件时,可以以字符方式读取,也可以以字节方式读取,将读取的数据解释为ASCII或unicode编码,也就是解释为字符,读取的字符可以直接输出到屏幕上显示出来;字节输入流InputStream类、字节输出流OutputStream类、字符输入流Reader、字符输出流Writer。
(2)当程序读取二进制文件时,是以字节方式读取的,对读取数据的解释由读取程序决定。如读取图片文件时,读取图片的程序需要了解该文件的结构,并解释读取的数据,如果不了解该图片文件的结构,读取图片文件就会失败,也就无法把图片显示出来了。 字节输入流InputStream类、
字节输出流OutputStream类。
2、ByteArrayInputStream类在Java中IO流的体系结构图的位置
3、为什么要引入ByteArrayInputStream类?
ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和
ByteArrayInputStream的实例向数组中写入或读出byte型数据。
在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次性把数据发送出去。
ByteArrayInputStream是可以将字节数组转化为输入流。
4、什么是ByteArrayInputStream类?
是Java SE中IO流体系中的字节输入流InputStream的子类,是字节数组输入流ByteArrayInputStream。
java.io 类 ByteArrayInputStream
java.lang.Object java.io.InputStream java.io.ByteArrayInputStream
所有已实现的接口:
Closeable
5、ByteArrayInputStream类的特点和作用
ByteArrayInputStream本身操作的是一个数组,并没有打开文件描述之类的,所有不需要关闭流。
ByteArrayInputStream是字节数组输入流,在内存中创建了一个字节数组,将输入流中读取的数据保存到字节数组的缓存区中。也就是说字节数组输入流将读取数据放到字节数组缓冲区中。
6、ByteArrayInputStream的所有已知实现的接口
所有已实现的接口:
Closeable
7、企业开发里常用ByteArrayInputStream类的构造方法
8、企业开发里常用ByteArrayInputStream类的成员方法
接下来分享文档资料(进阶架构视频+面试资料)针对最近找工作碰壁,面试被虐,想要提升自己的工程师分享(只分享50份)
资料获取方式:转发+关注后台私信回复【资料】获取
【最后】:小编非常感谢大家点赞、关注和转发,欢迎大家留言讨论!!
留言与评论(共有 0 条评论) |