Contoh artikel ini menjelaskan metode penggabungan mp3 di Java. Bagikan dengan semua orang untuk referensi Anda. Metode implementasi spesifiknya adalah sebagai berikut:
Copy kode kodenya sebagai berikut:
tes paket;
import java.io.*;
import java.util.*;
Tes kelas publik6
{
public static void main(String[] args) memunculkan Pengecualian
{
String s = "D:/out.mp3"; // Direktori keluaran & nama file
Daftar<String> daftar = Daftar Array baru<String>();
File dir = new File("D:/aaa"); // Direktori yang akan dilintasi, gunakan rekursi untuk mengambil file. Jika ada terlalu banyak file, maka akan berakhir.
rekursi(dir.listFiles(), daftar); // Fungsi rekursif
String[] ss = String baru[daftar.ukuran()];
untuk (int i = 0; i < ss.panjang; i++)
{
ss[i] = daftar.get(i);
}
Sistem.keluar.println();
menggabungkan(s, ss);
}
public static void recursion(File[] fs, List<String> list) // Mendapatkan file .mp3 secara rekursif di semua subdirektori.
{
untuk (File f : fs)
{
jika (f.isDirectory())
{
rekursi(f.listFiles(), daftar);
}
kalau tidak
{
jika (f.getName().endsWith(".mp3"))
{
daftar.tambahkan(f.getAbsolutePath());
}
}
}
}
kombinasi boolean statis pribadi (String outFile, String[] inFiles) memunculkan Pengecualian
{
File keluar = File baru(file keluar);
File[] files = File baru[inFiles.length];
for (int i = 0; i < file.panjang; i++)
{
file[i] = File baru(dalamFile[i]);
}
FileInputStream fis = null;
FileOutputStream fos = new FileOutputStream(outFile, true); // Penggabungan sebenarnya adalah kelanjutan dari file, ditulis sebagai true
for (int i = 0; i < file.panjang; i++)
{
fis = FileInputStream baru(file[i]);
int len = 0;
untuk (byte[] buf = byte baru[1024 * 1024]; (len = fis.read(buf)) != -1;)
{
fos.write(buf, 0, len);
}
}
fis.close();
fos.close();
kembali benar;
}
}
Saya harap artikel ini bermanfaat untuk pemrograman Java semua orang.