يصف مثال هذه المقالة طريقة دمج mp3 في Java. شاركها مع الجميع لتكون مرجعا لك. طريقة التنفيذ المحددة هي كما يلي:
انسخ رمز الكود كما يلي:
اختبار الحزمة
استيراد java.io.*;
import java.util.*;
اختبار الطبقة العامة6
{
يلقي الفراغ الرئيسي العام (String[] args) استثناءً
{
String s = "D:/out.mp3"; // دليل الإخراج واسم الملف
List<String> list = new ArrayList<String>();
File dir = new File("D:/aaa"); // الدليل المراد اجتيازه، استخدم العودية للحصول على الملفات.
العودية (dir.listFiles()، قائمة)؛ // وظيفة العودية
String[] ss = new String[list.size()];
لـ (int i = 0; i < ss.length; i++)
{
ss[i] = list.get(i);
}
System.out.println();
الجمع بين (ق، ق ق)؛
}
public static void recursion(File[] fs, List<String> list) // الحصول بشكل متكرر على ملفات .mp3 في كافة الدلائل الفرعية.
{
لـ (ملف f : fs)
{
إذا (f.isDirectory())
{
العودية (f.listFiles ()، قائمة)؛
}
آخر
{
إذا (f.getName().endsWith(".mp3"))
{
list.add(f.getAbsolutePath());
}
}
}
}
الجمع المنطقي الثابت الخاص (String outFile، String[] inFiles) يطرح استثناءً
{
ملف خارج = ملف جديد (outFile)؛
File[] files = new File[inFiles.length];
لـ (int i = 0; i < files.length; i++)
{
files[i] = new File(inFiles[i]);
}
FileInputStream fis = null;
FileOutputStream fos = new FileOutputStream(outFile, true); // الدمج هو في الواقع استمرار للملف، مكتوبًا على أنه صحيح
لـ (int i = 0; i < files.length; i++)
{
fis = new FileInputStream(files[i]);
إنت لين = 0;
for (byte[] buf = new byte[1024 * 1024]; (len = fis.read(buf)) != -1;)
{
fos.write(buf, 0, len);
}
}
fis. Close();
fos. Close();
عودة صحيحة؛
}
}
آمل أن تكون هذه المقالة مفيدة لبرمجة جافا للجميع.