字节流
(不全面,后续再补充)
通常以stream结尾
使用场景
字节流适合所有类型文件的数据传输,因为计算机字节(Byte)是电脑中表示信息含义的最小单位,因为在通常情况下一个ACSII码就是一个字节的空间来存放。
常用的字节输入流主要有:
InputStream
FileInputStream
BufferedInputStream 【BufferedInputStream不是InputStream的直接实现子类,是FilterInputStream的子类】
常用的字节输出流主要有:
OutputStream
FileOutputStream
BufferedOutputStream 【BufferedOutputStream不是OutputStream的直接实现子类,是FilterOutputStream的子类】
字符流
字符流的类通常以reader和writer结尾
使用场景
字符流只能够处理纯文本数据,其他类型数据不行,但是字符流处理文本要比字节流处理文本要方便。
字符流按字符读数据:一次读两个字节,返回了这两个字节所对应的字符的int型数值(编码)。写入文件时把这两个字节的内容解码成这个字符在Unicode码下对应的二进制数据写入。即把原始文件中的二进制数据以字符形式读出,再将字符以二进制形式写入,所以得到的文件以字符方式存储。而图片的数据是按字节存储的,所以打开图片时解码出错了!字节流按字节读数据:而字节不需要编码、解码,只有字节与字符之间转换时才需要编码、解码!所以可以正常读取图片数据。
常见的字符输入流有:
Reader
InputStreamReader
FileReader
BufferedReader
常见的字符输出流有:
Writer
OutputStreamWriter
FileWriter
BufferedWriter
https://blog.csdn.net/weixin_43986427/article/details/100726574
https://www.cnblogs.com/progor/p/9357676.html#scroller-10