黑马程序员技术交流社区

标题: 关于为什么不能用字符流复制MP3文件的问题 [打印本页]

作者: yumin    时间: 2015-1-17 01:42
标题: 关于为什么不能用字符流复制MP3文件的问题
今天在看IO部分的视频,其中有说到复制MP3。视频上说图片等文件不能用字符流来复制,试了一下用字符流来复制MP3文件,复制出来的文件变小了,而且无法播放。出现这样的现象,我是否可以理解为在读数据的时候返回的是INT类型,但是写入的时候需要把INT类型的转为char类型,在转换过程中造成数据被丢失或者改变,所以最终复制的结果是MP3文件不能播放?
作者: 邓士林    时间: 2015-1-17 08:14
可能是由于字符流读取后,要对应码表,转换时候出错的。字节流直接读取单位是1个字节,而字符流是2个字节的Unicode字符,所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的。ps:所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列.
一般如果是音频文件就是用字节流,文本就是字符流


作者: 以利亚    时间: 2015-1-17 08:53
数据错乱了吧
作者: wangcongwu    时间: 2015-1-17 10:48
你是逗我吗,你知道字符流其实也是字节流编译的吗,你一个图像的编码方式和一个字符的编码方式能一样吗。你没上过加算计理论的课吧
作者: tony_ygz    时间: 2015-1-17 21:22
楼上这位好喷啊,回答问题都回答的愤世嫉俗
作者: dwy_hm    时间: 2015-1-17 21:49
长度不匹配是转换时候出错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2