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

来源:互联网 发布:投稿软件下载 编辑:程序博客网 时间:2024/06/08 01:59

在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

0 0
原创粉丝点击