zoukankan      html  css  js  c++  java
  • IO流:字节流复制视频

    字节流:

    字节输出流:OutputStream

    OutputStream有很多子类,其中子类FileOutputStream可用来写入数据到文件。

    FileOutputStream,即文件输出流是用于将数据写入 File的输出流。

      FileOutputStream(String name):创建一个具有指定名称的文件中写入数据的输出文件流

    字节输入流:InputStream

       int read():读取一个字节并返回,没有字节返回-1.

      int read(byte[]): 读取一定量的字节数,并存储到字节数组中,返回读取到的字节数。

    InputStream有很多子类,其中子类FileInputStream可用来读取文件内容。

    FileInputStream 从文件系统中的某个文件中获得输入字节。

    下面是一个字节流复制视频的小案例:

    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Date;

    public class Work01 {
     public static void main(String[] args) throws IOException {
      //一个数组一个数组复制
      Date date=new Date();
      System.out.println("开始时间:"+date.getTime());
      //明确数据源
      FileInputStream fis=new FileInputStream("D:\io1227\video\AMG_GT_ALL_4_original.mp4");
      //明确目的地
      FileOutputStream fos=new FileOutputStream("D:\io1227\mp4.mp4");
      //开始复制
      byte[] bytes=new byte[1024];
      int len=0;
      while((len=fis.read(bytes))!=-1){
       fos.write(bytes);
      }
      fis.close();
      fos.close();
      Date date2=new Date();
      System.out.println("数组复制结束时间:"+date2.getTime());
      //一个字节一个字节复制
      FileInputStream fis2=new FileInputStream("D:\io1227\video\AMG_GT_ALL_4_original.mp4");
      FileOutputStream fos2=new FileOutputStream("D:\io1227\mp5.mp4");
      int len2=0;
      while((len2=fis2.read())!=-1){
       fos2.write(len2);
      }
      fis2.close();
      fos2.close();
      Date date3=new Date();
      System.out.println("字节复制结束时间:"+date3.getTime());
      System.out.println("数组复制用时:"+(date2.getTime()-date.getTime())+"毫秒");
      System.out.println("字节复制用时:"+(date3.getTime()-date2.getTime())+"毫秒");
     }
    }

    这是复制了一个大小为2330KB的小视频,非常明显数组比字节的效率要高很多

  • 相关阅读:
    Fegin参数使用总结
    navicat彻底卸载
    VM虚拟机win10无法联网,DNS配置问题
    Navicat15的安装及破解
    Docker 配置国内镜像源拉取prometheus,解决prometheus拉取特别慢的问题
    python中faker(生成随机数据)
    初探移动网站的架构和设计
    利用HTML5的一个重要特性 —— DeviceOrientation来实现手机网站上的摇一摇功能
    响应式Web设计(三):响应式Web设计的方法
    响应式Web设计(四):响应式Web设计的优化
  • 原文地址:https://www.cnblogs.com/nbkls/p/12743512.html
Copyright © 2011-2022 走看看