public class Music_shi {
public static void main(String[] args) throws IOException {
//读取文件
BufferedInputStream bis = new BufferedInputStream( new FileInputStream( "G:\\qiao\\music\\阿冗 - 太多 (cover:陈冠蒲).mp3" ) );
BufferedInputStream bis1 = new BufferedInputStream( new FileInputStream( "G:\\qiao\\music\\王力宏 - 改变自己.mp3" ) );
//写出文件
BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream( "G:\\qiao\\music\\a\\ab.mp3",true ));
int len;
//用于记录第一首歌累计读取字节的大小
int sum=0;
//用于记录第二首歌累计读取字节的大小
int sum1=0;
//用于记录合并时歌累计写出字节的大小
int su=0;
int t1=320*58*1024/8;
int t2=320*120*1024/8;
//定义一个标记,用于两首歌交替拼接
boolean flag=true;
byte[] bytes = new byte[4096*32];
while (true){
if (su>(t1+t2)){
break;
}
if (flag){
if ((len=bis.read(bytes))!=-1){
sum+=len;
if (sum<t1){
flag=!flag;
continue;
}
if (sum>t2){
bos.flush();
break;
}
bos.write( bytes,0,len );
su+=len;
}
flag=!flag;
}else{
if ((len=bis1.read(bytes))!=-1){
sum1+=len;
if (sum1<t1){
flag=!flag;
continue;
}
if (sum1>t2){
bos.flush();
break;
}
bos.write( bytes,0,len );
su+=len;
}
flag=!flag;
}
}
bos.close();
bis1.close();
bis.close();
}
}