Day16_92_Java IO 基础概念
Java IO 基础概念
-
流根据方向分为 输入流 和 输出流。 注意 : 输入和输出是相对与内存而言的,从内存出来就是输出,到内存中去就是输入。
-
输入叫做 "读" , 输出叫做 "写"。
-
输入流叫做 InputStream 或者 Read ; 输出流叫做 OutputStream 或者 Write。
-
输入流是从文件读取数据,是一个拉取数据的过程; 输出流是将数据写入到文件中,是一个推送数据的过程。
-
一个Java程序从本地读取(拉取)字节叫做字节输入流; 一个Java程序将字节数据写入并保存到硬盘中叫字节输出流; 从内存中读取字符文件叫字符输入流(Read), 输出字符数据叫字符输出流(write).
-
流根据读取数据的方式不同分为 字节流 和 字符流,字节流是按照字节的方式读取的; 字符流是按照字符的方式读取的,一次读取两个字节,在java中一个字符占两个字节。
-
字节流适合读取 视频、声音、图片等二进制文件; 字符流适合读取纯文本文件。
-
Java 语言中所有的字节流都以Stream结尾; 所有的字符流都含有Reader或Writer。
* IO继承结构图
- 字节流
- 字符流
- 需要掌握的16个流
- java.io.*;
import java.io.InputStream; 抽象类
import java.io.OutputStream; 抽象类
import java.io.FileInputStream; 字节流输入
import java.io.FileOutputStream; 字节流输出
import java.io.FilterInputStream;
import java.io.FilterOutputStream;
import java.io.FileReader; 字符流输入
import java.io.FileWriter; 字符流输出
import java.io.BufferedInputStream; 带有缓冲区的字节流输入
import java.io.BufferedOutputStream; 带有缓冲区的字节流输出
import java.io.BufferedReader; 带有缓冲区的字符流输入
import java.io.BufferedWriter; 带有缓冲区的字符流输出
import java.io.DataInputStream; 读取数据
import java.io.DataOutputStream;
import java.io.ObjectInputStream; 读取对象
import java.io.ObjectOutputStream;
转换流:
import java.io.InputStreamReader; 将字节输入流转换为字符输入流
import java.io.OutputStreamWriter; 将字节输出流转换为字符输出流
import java.io.PrintWriter;
import java.io.PrintStream; 标准的输出流,默认输出到控制台