为什么用字符流复制的图片打不开,而用字节流复制的却可以打开?

这是编码、解码的问题:

字符流按字符读数据:一次读两个字节,返回了这两个字节所对应的字符的int型数值(编码)。
写入文件时把这两个字节的内容解码成这个字符在Unicode码下对应的二进制数据写入。
即把原始文件中的二进制数据以字符形式读出,再将字符以二进制形式写入,所以得到的文件以字符方式存储。而图片的数据是按字节存储的,所以打开图片时解码出错了!

字节流按字节读数据:而字节不需要编码、解码,只有字节与字符之间转换时才需要编码、解码!所以可以正常读取图片数据。

所以,非纯文本不要用字符流。

猜你喜欢

转载自blog.csdn.net/qq_43229056/article/details/106137920
今日推荐