io原理、概要
应用
字节流(以字节为操作单位)
InputStream
FileInputStream
BufferInputStream
ObjectInputStream
OutputStream
FileOutputStream
BufferOutputStream
ObjectOutputStream
字符流(以字符(即两个字节)为操作单位)
Reader
BufferReader
InputStreamReader
Writer
BufferWriter
OutputStreamWriter
2.字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点
注意:
一个英文字符是用一个字节编码的,而一个中文字符则是用两个字节编码的,所以用字节流读取中文时,会出现乱码问题;UTF-8用三个字节表示中文,gb2312、gbk用两个字节来表示中文
Java i/o的相关操作类似文件的操作,写入文件的时候,切莫忘了flush