InputStream 和 OutputStream的继承只能支持8位的字节流 这个8位的字节流怎么去理解? 是说一次只能读取或者写入8个字节码?
6条回答 默认 最新
- Kuring_K 2015-04-24 17:55关注
java的字节流在读取的时候,是以一个字节8byte为单位读取数据;而字符流则是以一个字符为单位读取数据;需要说明的是java中,字符被加载时自动转化为unicode编码,而unicode长度为两个字节为一个字符。即,读取是默认数据单位的不同,字节流为一个字节,字符流为一个字符(unicode两个字节)。
在处理非字符数据时一般使用字节流,而处理字符数据时使用字符流,如OS X上为GB2312编码的汉字符号等,在处理时需要转换为unicode,并且每次以2字节为一个字符单位读取,这样才不会出现数据乱码或失真。希望能帮到你。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报