zoukankan      html  css  js  c++  java
  • 整理并熟练字节流拷贝功能 基本流复制

    整理并熟练字节流拷贝功能  基本流复制

    1 缓冲流概述
    * 可提高IO流的读写速度
    * 分为字节缓冲流与字符缓冲流
    2 字节输出流缓冲流BufferedOutputStream
    * 字节输出流的缓冲流
    * java.io.BufferedOuputStream 作用: 提高原有输出流的写入效率
    * BufferedOuputStream 继承 OutputStream
    * 方法,写入 write 字节,字节数组
    * 构造方法:
    * BufferedOuputStream(OuputStream out)
    * 可以传递任意的字节输出流, 传递的是哪个字节流,就对哪个字节流提高效率
    3 字节输入流缓冲流BufferedInputStream
    * 字节输入流的缓冲流
    * 继承InputStream,标准的字节输入流
    * 读取方法 read() 单个字节,字节数组
    * 构造方法:
    * BufferedInputStream(InputStream in)
    * 可以传递任意的字节输入流,传递是谁,就提高谁的效率
    * 可以传递的字节输入流 FileInputStream

    package cn.zhang.demo3;

    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;

    public class HomeWork {
    public static void main(String[] args) {

    try {
    //创建一个mp3文件 里面写入 zhangyiyiyi
    FileOutputStream fos=new FileOutputStream("d:\123.mp3");
    fos.write("zhangyiyiyiyi".getBytes());
    File fil=new File("d:\123.mp3");
    boolean file = fil.exists();
    System.out.println("MP3文件是否存在"+file);
    fos.close();

    //一次一字节 读文件
    fun();
    //一次多字节  写文件
    //fun1();
    // 3 字节缓冲流复制 一次读一个字节
    //fun2();
    //4 字节缓冲流复制 一次读一多个字节
    //fun3();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    //4 字节缓冲流复制 一次读一多个字节
    public static void fun3() throws IOException{
    BufferedInputStream b=new BufferedInputStream(new FileInputStream("d:\123.mp3"));
    BufferedOutputStream b1=new BufferedOutputStream(new FileOutputStream("d:\321.mp3"));
    byte[] bytes=new byte[1024];
    int len;
    while((len=b.read(bytes))!=-1){
    b1.write(len);
    System.out.println(new String(bytes,0,len));
    }
    b1.close();
    b.close();
    }
    // 3 字节缓冲流复制 一次读一个字节
    public static void fun2() throws IOException{
    BufferedInputStream b=new BufferedInputStream(new FileInputStream("d:\123.mp3"));
    BufferedOutputStream b1=new BufferedOutputStream(new FileOutputStream("d:\321.mp3"));

    int len;
    while((len=b.read())!=-1){
    b1.flush();
    b1.write(len);
    System.out.println((char)len);
    }
    b1.close();
    b.close();
    }
    //一次多字节 读取文件
    public static void fun1() throws IOException{
    FileInputStream f=new FileInputStream("d:\123.mp3");
    byte[] bytes=new byte[1024];
    int len=0;
    while((len=f.read(bytes))!=-1){
    System.out.println(new String(bytes,0,len));
    }
    f.close();
    }
    //一次一字节 读取文件
    public static void fun() throws IOException{
    FileInputStream f=new FileInputStream("d:\123.mp3");
    int len=0;
    while((len=f.read())!=-1){
    System.out.println((char)len);
    }
    f.close();
    }
    }

  • 相关阅读:
    hdu 6836
    2019 树形—DP
    2020牛客暑期多校训练营(第六场)
    hdu 6756 Finding a MEX 线段树
    2020 Multi-University Training Contest 2
    spring boot maven 打jar包 不能引入外部jar
    git 操作命令
    homestead 安装swoole
    MYSQL-触发器
    再次认知const
  • 原文地址:https://www.cnblogs.com/zyEthan/p/10405542.html
Copyright © 2011-2022 走看看