IO流简述

IO流

1.什么是IO流

​ java中所有的流都是子java.io下。首先我们看一下什么是IO,I就是Input,O就是Output,也就是输入输入的意思。

这里的输入输入都是相对内存而言

当我们从硬盘中的东西放在内存里,这个过程叫做输出(Input),输入的过程中会产生数据的流动我们叫做输入流(InputStream),输入过程我们叫做读(Read)

而我们在内存中的数据放在硬盘上,这个过程叫做输出(OutPut),输出的过程中会产生数据的流动我们叫做输出流(OutputStream),输出过程我们叫做写(Write)

2.IO流的分类

IO流有多种分类方式

  • 一种是按照流的方向进行分类:以内存为参照物,往内存中去,叫做输入(Input),或者叫读(Read);从内存中出来叫做输出(Output),或者叫做写(Write);
  • 另一种是按照读取方式的不同进行分类有的流是按照字节的方式进行读取数据,一次可以读取一个字节byte等同于一次读取8个二进制位,这种流是万能的,字节流什么类型的文件都可以读取有的流是按照字符的方式读取数据的,一次读取一个字符,字符流是为了方便读取普通文本文件而存在的。这种流不能读取:图片、声音、视频等文件。只能读取txt文件,word文件都无法读取。

3.IO流下的四大抽象类:

  1. java.io.InputStream 字节输入流
  2. java.io.OutputStream 字节输出流
  3. java.io.Reader 字符输入流
  4. java.io.Writer 字符输入流

所有的流都实现了java.io.Closeable接口,都是可关闭的,都有close()方法。用完流一定要关闭,否则会浪费资源!

所有的输出流都实现了java.io.Flushable接口,都是可刷新的,都有flush()方法。输出流在最终输出之后,要flush()刷新一下,刷新的作用就是清空管道(强制将剩余的数据强行输出完)。如果没有flush()可能会丢失数据

4.java.io包下需要掌握的16个流

文件专属 FileReader FileWriter FileInputStream FileOutputStream
转换流 InputStreamReader OutputStreamWriter
缓冲流专属 BufferReader BufferWriter BufferInputStream BufferOutputStream
数据流专属 DataInputStream DataOutoputStream
标准数据流 PrintWriter PrintStream
对象专属流 ObjectInputStream ObjectOutputStream
posted @ 2022-07-21 17:33  星余明  阅读(52)  评论(0编辑  收藏  举报