1. IO简介
- 主要是把 程序中的数据 和磁盘里的数据 进行交互
- in/I :从磁盘里读取到程序里
- out/O : 从程序里写出到磁盘中
in/out相对于 程序而言 的输入(读取)和输出(写出)的过程。- 无论进行读in还是写out,都可以用字节流和字符流完成
- 到底用哪种流读写呢?–根据操作数据的单位不同.jpg .txt .mp4??
- 字符流 只能操作字符文件.txt
- 字节流 可以操作任何数据 – 应用的更加广泛
在Java中,根据处理的数据单位不同,分为字节流和字符流
2. 继承结构
在java.io包:
File 可以用来封装文件路径、文件夹路径、不存在的路径。
//字节流:针对二进制文件
InputStream //输入
--FileInputStream
--BufferedInputStream
--ObjectInputStream
OutputStream //输出
--FileOutputStream
--BufferedOutputStream
--ObjectOutputStream
//字符流:针对文本文件。读写容易发生乱码现象,在读写时最好指定编码集为utf-8
Writer //输出
--BufferedWriter
--OutputStreamWriter
Reader //输入
--BufferedReader
--InputStreamReader
--PrintWriter/PrintStream
3. 流的概念
数据的读写抽象成数据,在管道中流动。
流只能单方向流动
输入流用来读取in
输出流用来写出out
数据只能从头到尾顺序的读写一次