java实现mp3合并的方法
本文实例讲述了java实现mp3合并的方法。分享给大家供大家参考。具体实现方法如下:
package test;
import java.io.*;
import java.util.*;
public class Test6
{
public static void main(String[] args) throws Exception
{
String s = "D:/out.mp3"; // 输出目录 & 文件名
List<String> list = new ArrayList<String>();
File dir = new File("D:/aaa"); // 要遍历的目录, 用递归拿文件,文件太多就完蛋.
recursion(dir.listFiles(), list); // 递归函数
String[] ss = new String[list.size()];
for (int i = 0; i < ss.length; i++)
{
ss[i] = list.get(i);
}
System.out.println();
combine(s, ss);
}
public static void recursion(File[] fs, List<String> list) // 递归得所有子目录的.mp3文件.
{
for (File f : fs)
{
if (f.isDirectory())
{
recursion(f.listFiles(), list);
}
else
{
if (f.getName().endsWith(".mp3"))
{
list.add(f.getAbsolutePath());
}
}
}
}
private static boolean combine(String outFile, String[] inFiles) throws Exception
{
File out = new File(outFile);
File[] files = new File[inFiles.length];
for (int i = 0; i < files.length; i++)
{
files[i] = new File(inFiles[i]);
}
FileInputStream fis = null;
FileOutputStream fos = new FileOutputStream(outFile, true); // 合并其实就是文件的续写,写成true
for (int i = 0; i < files.length; i++)
{
fis = new FileInputStream(files[i]);
int len = 0;
for (byte[] buf = new byte[1024 * 1024]; (len = fis.read(buf)) != -1;)
{
fos.write(buf, 0, len);
}
}
fis.close();
fos.close();
return true;
}
}
希望本文所述对大家的Java程序设计有所帮助。
相关文章
ruoyi-springboot框架新增模块调接口报404的解决方案
这篇文章主要介绍了ruoyi-springboot框架新增模块调接口报404的解决方案,文中通过代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下2024-03-03
redis中存储list<map>,list<entity>的处理
本文主要介绍了redis中存储list<map>,list<entity>的处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2024-06-06
SpringBoot JPA懒加载失效的解决方案(亲测有效)
这篇文章主要介绍了SpringBoot JPA懒加载失效的解决方案(亲测有效),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-08-08


最新评论