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();
    }
    }

  • 相关阅读:
    Struts2+Spring3+Mybatis3开发环境搭建
    spring+struts2+mybatis
    【LeetCode】Populating Next Right Pointers in Each Node
    【LeetCode】Remove Duplicates from Sorted Array
    【LeetCode】Remove Duplicates from Sorted Array II
    【LeetCode】Binary Tree Inorder Traversal
    【LeetCode】Merge Two Sorted Lists
    【LeetCode】Reverse Integer
    【LeetCode】Same Tree
    【LeetCode】Maximum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/zyEthan/p/10405542.html
Copyright © 2011-2022 走看看