java实现mp3合并的方法

网友投稿 297 2023-08-06


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 list = new ArrayList();

    &nbhttp://sp;   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 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程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:判断字符串的长度(优化版)中文占两个字符
下一篇:Java,C#使用二进制序列化、反序列化操作数据
相关文章

 发表评论

暂时没有评论,来抢沙发吧~