您的位置:首页 > 编程语言 > Java开发

JAVA-IO之读取媒体文件(图片、音频、视频)

2016-07-04 15:38 633 查看
在JAVA中使用字节流处理媒体文件。

关键词:

FileInputStream

FileOutputStream

BufferedInputStream

BufferedOutputStream

下面代码演示复制一个视频,图片,音频同理

import java.io.*;
public class CopyMedia {
public static void main(String[] args) {
long start = System.currentTimeMillis();
bufCopyMedia("OOXX.avi");
long end = System.currentTimeMillis();
System.out.println("使用BufferedOutputStream:");
System.out.println((end - start) + "ms");

start = System.currentTimeMillis();
copyMedia("OOXX.avi");
end = System.currentTimeMillis();
System.out.println("没有使用BufferedOutputStream:");
System.out.println((end - start) + "ms");
}
public static void copyMedia(String fileName) {
try {
FileInputStream fis = new FileInputStream(fileName);
FileOutputStream fos = new FileOutputStream("copy_f" + fileName);
byte[] buf = new byte[1024];
int len;
while ((len = fis.read(buf)) != -1)  {
fos.write(buf, 0, len);
}
fos.close();
fis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void bufCopyMedia(String fileName) {
try {
BufferedInputStream bfis = new BufferedInputStream(new FileInputStream(fileName));
BufferedOutputStream bfos = new BufferedOutputStream(new FileOutputStream("copy_t" + fileName));
int by;
byte[] ts = new byte[1024];
while ((by = bfis.read(ts)) != -1) {
bfos.write(ts, 0, by);
}
bfis.close();
bfos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}


#结果

使用BufferedOutputStream:
231ms
没有使用BufferedOutputStream:
522ms


END

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java IO