1.基本概念
IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。
2.IO流的分类
图示:(主要IO流)
3.字节流
(1).字节流基类
1).InputStream
InputStream:字节输入流基类,抽象类是表示字节输入流的所有类的超类。
2).OutputStream
OutputStream:字节输出流基类,抽象类是表示输出字节流的所有类的超类。
(2).字节文件操作流
1).FileInputStream
2).FileOutputStream
(3).字节缓冲流(高效流)
1).BufferedInputStream
2).BufferedOutputStream
4.字符流
(1).字符流基类
1).Reader
Reader:读取字符流的抽象类.
2).Writer
Writer:写入字符流的抽象类.
(2).字符转换流
1).InputStreamReader
InputStreamReader:字节流转字符流,它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。
2).OutputStreamWriter
OutputStreamWriter:字节流转字符流。
(3).字符缓冲流(高效流)
1).BufferedReader
BufferedReader:字符缓冲流,从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
2).BufferedWriter
BufferedWriter:字符缓冲流,将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
(4).FileReader、FileWriter
FileReader:InputStreamReader类的直接子类,用来读取字符文件的便捷类,使用默认字符编码。
FileWriter:OutputStreamWriter类的直接子类,用来写入字符文件的便捷类,使用默认字符编码。
5.高效流效率比对