이 기사의 예에서는 Java에서 mp3 병합 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.
다음과 같이 코드 코드를 복사합니다.
패키지 테스트;
import java.io.*;
import java.util.*;
공개 클래스 Test6
{
public static void main(String[] args)에서 예외가 발생했습니다.
{
String s = "D:/out.mp3"; // 출력 디렉터리 및 파일 이름
List<String> 목록 = 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();
결합(들, SS);
}
public static void recursion(File[] fs, List<String> list) // 모든 하위 디렉터리에서 .mp3 파일을 반복적으로 가져옵니다.
{
for(파일 f:fs)
{
if (f.is디렉토리())
{
recursion(f.listFiles(), 목록);
}
또 다른
{
if (f.getName().endsWith(".mp3"))
{
list.add(f.getAbsolutePath());
}
}
}
}
개인 정적 부울 결합(String outFile, String[] inFiles)에서 예외가 발생합니다.
{
파일 출력 = 새 파일(outFile);
파일[] 파일 = 새 파일[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 = 새 바이트[1024 * 1024]; (len = fis.read(buf)) != -1;)
{
fos.write(buf, 0, len);
}
}
fis.close();
fos.close();
사실을 반환;
}
}
이 글이 모든 사람의 Java 프로그래밍에 도움이 되기를 바랍니다.