A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 benbenqi 于 2011-12-15 22:31 编辑
  1. import java.io.*;
  2. import java.util.*;
  3. class SplitFile
  4. {
  5.         public static void main(String[] args) throws IOException
  6.         {
  7.                 splitFile();
  8.         }
  9.         public static void splitFile()throws IOException
  10.         {
  11.                 FileInputStream fis = new FileInputStream("the easy way.mp3");
  12.                 FileOutputStream fos = null;

  13.                 byte[] buf = new byte[1024*1024];
  14.                 int len = 0;
  15.                 int count = 1;
  16.                 while((len=fis.read(buf))!=-1)
  17.                 {
  18.                         fos = new FileOutputStream("the easy way"+(count++)+".part");
  19.                         fos.write(buf,0,len);
  20.                         fos.close();
  21.                 }
  22.                 fis.close();
  23.         }
  24. }
复制代码
音乐文件用以上代码切割后,用rar压缩改成后缀.mp3能播放,但是少了1分钟,这该怎么解释?
为什么能播放?为什么会少一分钟?

额好像与java没多大关系,希望明白同学解释一下

源文件和rar压缩改成.mp3文件 点击下载   http://115.com/file/dn33lhb4


[fly]谢谢[/fly]

5 个回复

倒序浏览
王柠 黑马帝 2011-12-15 20:35:25
沙发
会不会是在原文件的最后有一段空格呢
回复 使用道具 举报
理论上应该是不能播放的吧。Winrar的存档组织机制可是和Mp3文件的组织结构机制不同呀。
正常的mp3文件直接压缩成rar,再修改成mp3格式,也不应该能够正常播放的。因为Winrar在压缩的时候,向压缩结果文件写了文件头,使得Windows知道这个东西是压缩文档。这个类似于Windows中的exe文件都有PE文件头,而且16位,32位,64位的机子,exe文件的pe文件头不一样的。所以,16位exe在32位机子上面无法运行,32位程序在64位机子上面无法运行,Windows提出无法运行原因,在于判断exe的pe文件头。

me用了qq影音播放rar压缩后的mp3文件。提示:无法渲染。说明这个MP3文件不正常,不符合mp3的正常编码机制。不能播放呀。
如果某个播放器能够播放,说明其纠错能力强大,忽略了rar添加的文件头的东东,发现部分数据流,丢失部分数据流。
猜测一下,期待更好答案。
回复 使用道具 举报
郝亚平 发表于 2011-12-15 21:30
理论上应该是不能播放的吧。Winrar的存档组织机制可是和Mp3文件的组织结构机制不同呀。
正常的mp3文件直接 ...

谢谢 我用了千千 酷狗 qq音乐 windows media  potplayer 这几个播放器只有千千 酷狗能播放。看样真的与解码有关,可能这两个的解码比较强。但是直接压缩mp3格式音乐再改成.mp3用这两个播放器不能播
回复 使用道具 举报
郝亚平 发表于 2011-12-15 21:30
理论上应该是不能播放的吧。Winrar的存档组织机制可是和Mp3文件的组织结构机制不同呀。
正常的mp3文件直接 ...

这个技术含量高~~~~~
回复 使用道具 举报
王冀 黑马帝 2011-12-16 10:33:01
地板
貌似有些播放器很高级,可以播放压缩文件中的东西。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马