Java 输入输出流(java.io)

Java 输入输出流(java.io)

流:是一连串流动的字符,以先进先出的方式发送信息的通道,按照数据的传输方向,流可分为输入流与输出流。Java语言里的流序列中的数据既可以是未经加工的原始二进制数据,也可以是经过一定编码处理后符合某种特定格式的数据。

FIle类(java.io.File)

  • 什么是文件?
    • 文件可认为是相关记录或存放在一起的数据集合
    • 在Java中,是用Java.io.File类对文件进行操作

绝对路径和相对路径

  • 绝对路径:是从盘符开始的路径
  • 相对路径:是从当前路径开始的路径

字节流

输入字节流 (InputStream)

  • InputStream 是所有的输入字节流的父类,它是一个抽象类。
  • ByteArrayInputStreamStringBufferInputStreamFileInputStream 是三种基本的介质流,它们分别从Byte 数组StringBuffer、和本地文件中读取数据。
  • PipedInputStream 是从与其它线程共用的管道中读取数据
  • ObjectInputStream 和所有FilterInputStream 的子类都是装饰流(装饰器模式的主角)。

输出字节流 (OutputStream)

  • OutputStream 是所有的输出字节流的父类,它是一个抽象类。
  • ByteArrayOutputStreamFileOutputStream 是两种基本的介质流,它们分别向Byte 数组、和本地文件中写入数据。
  • PipedOutputStream 是向与其它线程共用的管道中写入数据。
  • ObjectOutputStream 和所有FilterOutputStream 的子类都是装饰流。

文件输入流(FileInputStream)

  • 从文件系统中的某个文件中获得输入字节

  • 用于读取(图,文件……)数据之类的原始字节流

    • 方法名 描述
      public int read() 从输入流中读取一个数据字节
      pubic int read(byte[] b) 从输入流中将最多b.length个字节的数据读入一个byte数组中
      public int read(byte[] b,int off,int len) 从输入流中将最多len个字节的数据读入byte数组中
      public void close() 关闭此文件输入流并释放与此流有关的所有系统资源

文件输出流(FileOutputStream

方法名 描述
public void write(int b) 将指定字节写入此文件输出流
public void write(byte[] b) 将b.length 个字节从指定 byte 数组写入此文件输出流中
public void write(byte[] b,int off,int len) 将指定byte 数组中从偏移量off 开始的 len 个字节写入此文件输出流
public void close() 关闭此文件输出流并释放与此流有关的所有系统资源

缓存流(Buffered……)

  • 缓存输入流(BufferedInputStream)
  • 缓存输出流(BufferedOutputStream)

字符流

  • 字符输入流Reader

  • 字符输出流Writer

对象序列化

  • 把java对象转为字节序列的过程

  • 反序列化:把字节序列恢复为java对象的过程

  • 对象输入流(ObjectInputStream)

  • 对象输出流(ObjectOutputStream)

posted @ 2021-01-23 13:57  流年りゅう  阅读(191)  评论(0)    收藏  举报