IO流
流的分类:
1.按方向划分:
输入流:从硬盘读取到内存中
输出流:从内存写到磁盘中
2.按单位划分:
字节流、字符流
3.按功能划分:
节点流
过滤流(缓冲流)
数据单位对应关系:
位:bit,位就是传说中提到的计算机中的最小数据单位:说白了就是0或者1
字节:byte,byte是存储空间的基本计量单位。1byte 存1个英文字母,2个byte存一个汉字。规定上是1个字节等于8个比特(1Byte = 8bit)。
对应关系:1KB=1024字节(B)
依此类推:
MB 1MB=1024KB
GB 1GB=1024MB
TB 1TB=1024GB
FileOutputStream:
public void write(byte[] b,int start,int len) //一次写多个字节,从start开始,写len个
FileInputStream:
public int read(byte[] b) //从流中读取多个字节,将内容存到b数组中,返回实际读到的字节数:如果达到文件末尾,则返回-1
字节过滤流(缓冲流)
缓冲流:BufferedOutputStream/BufferedInputStream
注意:需要手动调用flush方法将缓冲区内容写入文件,或者调用close方法,让close方法去调用flush方法,因为默认缓冲区没有存满就不会写入文件。
对象流:ObjectOutputStream/ObjectInputStream
作用:将对象序列化到文件中(参考Session的序列化),或者将文件数据还原成对象。
增强了读写对象的功能:
readObject() 从流中读取一个对象
writeObject(Object obj) 向流中写入一个对象
注意:序列化对象必须实现Serializable接口
字符流参考字节流,或自行百度
注:笔记内容过于简洁,只做归纳总结用,具体需要自己动手体会

浙公网安备 33010602011771号