O exemplo deste artigo descreve o método de mesclagem de mp3 em Java. Compartilhe com todos para sua referência. O método de implementação específico é o seguinte:
Copie o código do código da seguinte forma:
teste de pacote;
importar java.io.*;
importar java.util.*;
classe pública Test6
{
public static void main(String[] args) lança exceção
{
String s = "D:/out.mp3"; // Diretório de saída e nome do arquivo
Lista<String> lista = new ArrayList<String>();
File dir = new File("D:/aaa"); // Diretório a ser percorrido, use recursão para obter arquivos.
recursion(dir.listFiles(), list); // Função recursiva
String[] ss = new String[list.size()];
for (int i = 0; i < ss.length; i++)
{
ss[i] = lista.get(i);
}
System.out.println();
combinar(s, ss);
}
public static void recursion(File[] fs, List<String> list) // Obtém recursivamente arquivos .mp3 em todos os subdiretórios.
{
para (Arquivo f: fs)
{
if (f.isDirectory())
{
recursão(f.listFiles(), lista);
}
outro
{
if (f.getName().endsWith(".mp3"))
{
list.add(f.getAbsolutePath());
}
}
}
}
private static boolean combine(String outFile, String[] inFiles) lança exceção
{
Arquivo de saída = novo Arquivo(outFile);
Arquivo[] arquivos = new Arquivo[inFiles.length];
for (int i = 0; i < arquivos.comprimento; i++)
{
arquivos[i] = novo arquivo(inArquivos[i]);
}
FileInputStream fis = null;
FileOutputStream fos = new FileOutputStream(outFile, true); // A fusão é na verdade a continuação do arquivo, escrita como true);
for (int i = 0; i < arquivos.comprimento; i++)
{
fis = new FileInputStream(arquivos[i]);
int len=0;
for (byte[] buf = novo byte[1024 * 1024]; (len = fis.read(buf)) != -1;)
{
fos.write(buf, 0, len);
}
}
fis.close();
fos.close();
retornar verdadeiro;
}
}
Espero que este artigo seja útil para a programação Java de todos.