黑马程序员技术交流社区
标题:
关于复制MP3
[打印本页]
作者:
爽朗的菜籽
时间:
2014-9-22 19:54
标题:
关于复制MP3
import java.io.*;
public class Copy_mp3_1
{
public static void main(String[] args)
{
FileInputStream fis = null;
FileOutputStream fos = null;
try
{
fis = new FileInputStream("G:\\JAVA\\平凡之路.mp3");
BufferedInputStream bis = new BufferedInputStream(fis);
fos = new FileOutputStream("G:\\JAVA\\平凡之路_2.mp3");
BufferedOutputStream bos = new BufferedOutputStream(fos);
int ch = 0;
while((ch=bis.read())!=-1)
{
bos.write((char)ch);
}
} catch (IOException e)
{
e.printStackTrace();
}
}
}
复制代码
以上是我的代码,只是复制出来的MP3和原来的MP3大小有些微小的差别这是为什么啊,不用缓冲的话大小事一样的,是我的代码哪里不对吗
作者:
fantacyleo
时间:
2014-9-22 20:12
bos.write((char)ch); mp3复制用字节流,转成char干啥?
作者:
王路强
时间:
2014-9-22 20:27
你这样读取就是和不用缓冲没去别好吗 这样也是单个字符读取的 你没有定义数组
作者:
张丽丹
时间:
2014-9-22 20:30
本帖最后由 张丽丹 于 2014-9-22 20:31 编辑
复制完之后, 调用下,bos.flush();此外提一下,你这样做的效率会很低,不要一个一个字节来读取,应该是:
byte[] data=new byte[10*1024];
int n=br.read(data);
while(n!=-1){
fw.write(data,0,n);
n=br.read(data);
}
fw.flush();
fw.close();//复制完之后不要忘了加一个finally把读写流关掉,
作者:
戏言丶
时间:
2014-9-22 21:29
我是过来学习的
作者:
梧桐树下
时间:
2014-9-22 23:21
关流就一样了
作者:
yueyazhishang
时间:
2014-9-22 23:44
手机查看,待我明天给你发代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2