黑马程序员技术交流社区

标题: 字符流可以用来复制视频文件吗 [打印本页]

作者: java8023    时间: 2015-6-13 21:46
标题: 字符流可以用来复制视频文件吗
很是疑惑啊,老师讲解字符流的时候,没有拿视频来做演示例子,但是我想是用的。可是具体如何实现的呢,他是如何读取一个字符呢,视频文件都是二进制的。如何划分为字符读写呢???

作者: q19871127    时间: 2015-6-13 21:48
字符流无法复制视频 和图片  不信你试试
回比源文件小点
作者: java8023    时间: 2015-6-13 22:26
q19871127 发表于 2015-6-13 21:48
字符流无法复制视频 和图片  不信你试试
回比源文件小点

内部怎么实现的
作者: q19871127    时间: 2015-6-13 22:27

视频文件用字符流去复制时,是先将文件中的数据按照字节读取出来,再去查编码表将字节传化为字符,因为是音频文件所以字节的组成范围比较广,而编码表的字符是有限的,有的字节组成是在编码表里找不到的,这些在编码表里找不到的字节就会被丢弃掉,所以复制完的文件比源文件小。建议复制音频图片等文件用字节流。


以上是别人回答我的问题时  写的  你可以看看
作者: java8023    时间: 2015-6-13 22:35
q19871127 发表于 2015-6-13 22:27
视频文件用字符流去复制时,是先将文件中的数据按照字节读取出来,再去查编码表将字节传化为字符,因为是 ...

很牛的样子,回答的比较好 ,给力谢谢了
作者: QQheima    时间: 2015-6-13 22:37
BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileInputStream("侏罗纪公园.rmvb")));

byte[] by = new byte[1014*1024*10];//10M

int len = 0;

while((len = bufr.read(by))!=-1){
    //在这里你用字节输出流,保存成一个rmvb文件,然后看看能打开不
}

bufr.close();
作者: 银哥    时间: 2015-6-13 22:48
字符流不能操作视频,图片,音频等
作者: java8023    时间: 2015-6-13 23:03
QQheima 发表于 2015-6-13 22:37
BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileInputStream("侏罗纪公园.rmvb" ...

不可以的啊,我试验了一下的,转换流的输入流是不可以读取字节数组的
作者: java8023    时间: 2015-6-13 23:04
银哥 发表于 2015-6-13 22:48
字符流不能操作视频,图片,音频等

原因呢,原理呢




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