IO流

1. 什么是IO流?

  • IO流本质上是对数据读写的抽象,通过字节流/字符流 + 输入/输出四种基本组合提供统一而灵活的API来处理各种数据传输需求。

2. Java中常见的IO流分类有哪些?

2.1 按处理的数据类型划分

  • 字节流(InputStream / OutputStream)
    • 以字节(8位)为单位传输数据。
    • 适合处理二进制数据,如图片、音频、视频。
  • 字符流(Reader / Writer)
    • 以字符(16位Unicode)为单位传输数据。
    • 适合处理文本数据,如 txt、xml。

2.2 按数据流向划分

  • 输入流(InputStream / Reader)
    • 用于从数据源读取数据。
  • 输出流(OutputStream / Writer)
    • 用于向数据目标写入数据。

3. 常见类

  • 字节流:FileInputStreamFileOutputStream
  • 字符流:FileReaderFileWriter
  • 缓冲流:BufferedReaderBufferedWriterBufferedInputStreamBufferedOutputStream
  • 转换流:InputStreamReaderOutputStreamWriter,用于字节流和字符流之间的转换。