import java.io.*

描述
文件(创建,删除,判断)  
File 创建文件或者文件夹,修改文件或者文件的名称等操作
字节流操作:二进制流 可以处理所有类型数据,如:图片,MP3,AVI视频文件
FileInputStream 读取,诸如图像数据的原始字节流
FileOutputStream 写入,诸如图像数据的原始字节流
ByteArrayInputStream 读取,从字节数组读取数据
ByteArrayOutputStream 写入,将数据写入字节数组
字符流操作 不能设置编码,不建议读文本
FileReader 读取,字符流,只能处理字符数据,纯文本数据,优先考虑使用字符流,除此之外都用字节流
FileWriter 写入
字符串操作 可设编码
InputStreamReader 字节流转字符流:它读取字节,并使用指定的charset将其解码为字符
OutputStreamWriter 字符流转字节流:向其写入的字符编码成使用指定的字节charset
BufferedReader 从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取
BufferedWriter 将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入
对象操作  
Serializable 序列化类对象,读写保存到磁盘文件,相关类:ObjectOutputStream,ObjectInputStream

注意:
InputStream.read()方法返回一个字节,范围在0到255之间(当达到流末尾时,返回-1)

Reader.read()方法返回一个字符,范围在0到65535之间(当达到流末尾时,返回-1)




父类InputStream和OutputStream的部分子类:

字节流:FileInputStream、FileOutputStream

缓冲流:BufferedInputStream、BufferedOutputStream

数据流:DataInputStream、DataOutputStream

对象流:ObjectInputStream、ObjectOutputStream