Commit aa50e87f authored by 周亚武's avatar 周亚武

修改合并mp3文件规则

parent c4c68285
...@@ -23,10 +23,11 @@ public class SpliceMp3Util { ...@@ -23,10 +23,11 @@ public class SpliceMp3Util {
String fileName = path.substring(path.lastIndexOf("/")+1); String fileName = path.substring(path.lastIndexOf("/")+1);
File file = new File(lujing+fileName); File file = new File(lujing+fileName);
saveToFile(inputStream,file);
File file1 = new File(lujing+fileName + "01");// 分离ID3V2后的文件,这是个中间文件,最后要被删除 File file1 = new File(lujing+fileName + "01");// 分离ID3V2后的文件,这是个中间文件,最后要被删除
File file2 = new File(lujing+fileName + "001");// 分离id3v1后的文件 File file2 = new File(lujing+fileName + "001");// 分离id3v1后的文件
RandomAccessFile rf = new RandomAccessFile(file, "rw");// 随即读取文件 RandomAccessFile rf = new RandomAccessFile(file, "rw");// 随即读取文件
copyInputStreamToRandomAccessFile(inputStream,rf); // copyInputStreamToRandomAccessFile(inputStream,rf);
FileOutputStream fos = new FileOutputStream(file1); FileOutputStream fos = new FileOutputStream(file1);
byte ID3[] = new byte[3]; byte ID3[] = new byte[3];
rf.read(ID3); rf.read(ID3);
...@@ -88,12 +89,7 @@ public class SpliceMp3Util { ...@@ -88,12 +89,7 @@ public class SpliceMp3Util {
file1.delete(); file1.delete();
} }
// if (file.exists())// 删除中间文件 return file2.getAbsolutePath();
// {
// file.delete();
//
// }
return file.getAbsolutePath();
} }
...@@ -105,6 +101,25 @@ public class SpliceMp3Util { ...@@ -105,6 +101,25 @@ public class SpliceMp3Util {
} }
} }
/**
* InputStream转file
* @param inStream
* @param file
* @throws IOException
*/
public static void saveToFile(InputStream inStream, File file) throws IOException {
if (file.exists()) {
throw new IOException("File already exists");
}
try (OutputStream outStream = new FileOutputStream(file)) {
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, bytesRead);
}
}
}
/** /**
* 返回合并后的文件的路径名,默认放在第一个文件的目录下 * 返回合并后的文件的路径名,默认放在第一个文件的目录下
* @return * @return
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment