Java流

  根据流是否直接与某特定地方相接(磁盘、内存、外设)可分节点流,处理流。

  • 节点流:可从某个特定节点读写数据  FileReader就是一类、
  • 处理流:对一已存流进行连接封装,使用封装的的流的功能实现IO  如BufferedReader是对Reader进行封装使用的。

常见的节点流:

  1. 节点流:FileInput/FileOutput Stream,File Reader/Writer
  2. 字符串:String Reader/Writer
  3. 数组流:Array Input/Output Stream/Reader/Writer
  4. 管道流:PipedInput/Output Stream/Reader/Writer

常见处理流:

  1. 缓冲流:Buffered InputStream/OutputStream/Reader/Writer (缓冲流可以避免磁盘重复io 但是要记得flush、close)
  2. 转换流:InputStreamReader,OutputStreamWriter (用于字节流与字符流的转换)
  3. 数据流:Data Input/Output Stream  (读写基础数据)

流关闭顺序:

  1. 一般情况下先打开的后关闭,后打开的先关闭
  2. 存在依赖情况下,先关闭依赖其它流的流,再关闭被其它流依赖的流
  3. 对于处理流而言,可以之关闭处理流,处理流封装的节点流会在处理流关闭时调用关闭方法进行关闭
原文地址:https://www.cnblogs.com/notably/p/12981253.html