Java流

Posted 朝歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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. 对于处理流而言,可以之关闭处理流,处理流封装的节点流会在处理流关闭时调用关闭方法进行关闭

 

以上是关于Java流的主要内容,如果未能解决你的问题,请参考以下文章

Java_I/O流

java Zip压缩输入输出流问题

java中的“流”是啥?

java;怎么关闭流文件?

java如何获取classpath中某文件的输出流

java的io中为啥有那么多种流啊?