我想将现有的视频文件复制到另一个视频文件中。
我试着这样做:
byte c;
try {
FileOutputStream newFile = new FileOutputStream (VIDEO_PATH_TMP);
FileInputStream oldFile = new FileInputStream (VIDEO_PATH);
while ((c = (byte) oldFile.read()) != -1) {
newFile.write(c);
}
newFile.close();
oldFile.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但它不起作用。输出文件已创建,但我看不到视频。
我该如何实现?
谢谢!
答案 0 :(得分:3)
好的,我找到了答案,这就是代码:
try {
FileOutputStream newFile = new FileOutputStream (VIDEO_PATH_TMP);
FileInputStream oldFile = new FileInputStream (VIDEO_PATH);
// Transfer bytes from in to out
byte[] buf = new byte[1024];
int len;
while ((len = oldFile.read(buf)) > 0) {
newFile.write(buf, 0, len);
}
newFile.close();
oldFile.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我刚刚添加了Buffer数组,它解决了问题:)
答案 1 :(得分:0)
我认为你应该在关闭之前调用flush:
newFile.flush();
newFile.close();