IO流详细知识学习

1、什么是IO流?

就是文件的输入(Input)和输出(output);
输出和输出的参照物是内存,进入内存是输入,从内存里面出来是输出;
通过IO流可以完成硬盘文件的读写操作;
在这里插入图片描述

2、IO流的分类

按照流的方式分类

内存为参照物,进去内存叫做输入或者读;
从内存出来叫做输出或者写;

按照读取方式的不同分类

  • 字节流:一次读取 8 个二进制位,就是一个 byte;(万能流)

  • 字符流:为了读取普通的文本文件存在的,不能读取声音,图片,只能读取文本文件;(一个字符一个字符进行读取的)(“abc你好”,每一个都是一个字符)

综上所述:流的分类:输入流,输出流,字节流,字符流

3、Java中的IO流

内部已经实现,主要掌握语言中提供了什么流,每个流的相关特点是什么,每个流对象的特点是什么?
Java中所有流在 java.io.*下面;
Java中主要研究:
1、怎么new 流对象
2、调用流对象的哪儿个方法是读,哪儿个方法是写

3.1、Java IO流的四大家族

3.1.1 java.io.InputStream(字节输入流)

3.1.2 java.io.OutputStream(字节输出流)

3.1.3 java.io.Reader(字符输入流)

3.1.4 java.io.Writer(字符输出流)

3.1.5 上述小结

注意:
1、在 Java 中,只要是用 Stream 结尾的都是字节流;
2、使用“Reader/Writer”结尾的都是字符流;
3、上面的四大家族的首领都是抽象类(abstract class)
4、所有的流都是可以关闭的,都实现了 java.io.Closeable接口;
5、流是一个管道,是内存与硬盘之间的一个通道,使用结束后,需要关闭,否则会消耗过多的系统资源,好习惯,使用完流一定关闭;
6、所有的输出流是可以刷新的,都是有flush() 方法的,使用完输出流的时候,使用一下flush()方法,表示将管道/通道中剩余没有输出完的数据强行输出完成,刷新的作用就是清空管道,没有flush()可能使得数据丢失;

3.2 Java包中需要掌握的流 - 16个

文件专属

  • java.io.FileInputStream
  • java.io.FileOutputStream
  • java.io.FileReader
  • java.io.FileWriter

转换流(字节流转换为字符流)

  • java.io.InputStreamReader
  • java.io.OutputStreamWriter

缓冲流专属

  • java.io.BufferReader
  • java,io.BufferWriter
  • java.io.BufferInputStream
  • java.io.BufferOutputStream

数据流专属

  • java.io.DataInputStream
  • java.io.DataOutputStream

对象专属流

  • java.io.ObjectInputStream
  • java,io.ObjectOutputStream

标准输出流

  • java.io.PrintWriter
  • java.io.PrintStream
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值