在java.io包中操作文件内容的主要有两大类:
字节流
- 字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream
- 字节流处理单元为1个字节,操作字节和字节数组。
- 音频文件、图片、歌曲,就用字节流
- 字节流可用于任何类型的对象,包括二进制对象
- 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符
字符流
- 字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。
- 字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串
- 字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好
- 关系到中文(文本)的,用字符流
- 字符流只能处理字符或者字符串