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接口

字符流参考字节流,或自行百度

注:笔记内容过于简洁,只做归纳总结用,具体需要自己动手体会

 

posted @ 2019-07-18 17:33  啊湫的标准大横按  阅读(147)  评论(0)    收藏  举报