陆小曼|Java IO,讲的实在是太好了,这篇( 五 )
(7)DataInputStream
数据输入流 , 它同样是一种处理流 , 对节点流进行封装后 , 能够在内部对读入的字节转换为对应的Java基本数据类型 。
(8)SequenceInputStream
将两个或多个输入流看作是一个输入流依次读取 , 该类的存在与否并不影响整个IO生态 , 在程序中也能够做到这种效果
(9)StringBufferInputStream
将字符串中每个字符的低8位转换为字节读入到字节数组中 , 目前已过期
InputStream总结:
InputStream是所有输入字节流的抽象基类ByteArrayInputStream和FileInputStream是两种基本的节点流 , 他们分别从字节数组和本地文件中读取数据DataInputStream、BufferedInputStream和PushBackInputStream都是处理流 , 对基本的节点流进行封装并增强PipiedInputStream用于多线程通信 , 可以与其它线程公用一个管道 , 读取管道中的数据 。 ObjectInputStream用于对象的反序列化 , 将对象的字节数据读入内存中 , 通过该流对象可以将字节数据转换成对应的对象OutputStreamOutputStream是字节输出流的抽象基类 , 提供了通用的写方法 , 让继承的子类重写和复用 。
方法功能publicabstractvoidwrite(intb)将指定的字节写出到输出流 , 写入的字节是参数b的低8位publicvoidwrite(byteb[])将指定字节数组中的所有字节写入到输出流当中publicvoidwrite(byteb[],intoff,intlen)指定写入的起始位置offer , 字节数为len的字节数组写入到输出流当中publicvoidflush()刷新此输出流 , 并强制写出所有缓冲的输出字节到指定位置 , 每次写完都要调用publicvoidclose()关闭此输出流并释放与此流关联的所有系统资源
字符输入流和字节输入流的组成非常相似 , 字符输入流是对字节输入流的一层转换 , 所有文件的存储都是字节的存储 , 在磁盘上保留的不是文件的字符 , 而是先把字符编码成字节 , 再保存到文件中 。 在读取文件时 , 读入的也是一个一个字节组成的字节序列 , 而Java虚拟机通过将字节序列 , 按照2个字节为单位转换为Unicode字符 , 实现字节到字符的映射 。
推荐阅读
- Java|淘宝商家要小心了!取消的“中差评”体系又回来啦!
- javascript|游戏开发之旅-JavaScript重新介绍
- Java|java多线程并发小demo
- Java|java程序猿如何才能走远,怎么做自己的职业规划
- 蚂蚁花呗|血亏!阿里P8轻易把总结了近一年的java高级特性笔记送人了
- 百度|Java高级进阶多线程学习之路(七)ThreadLocal
- 陆小曼|快来试试,微信又添新功能?表情包可以加小辫子了
- javascript|家里宽带是300M的,但是实际测速才2M应该这样维权。
- 社交|十一国庆过后,秋招Java岗,陆续收到字节/招银等offer
- Java|Java面试之基础问题答案口述整理