zoukankan      html  css  js  c++  java
  • 关于缓冲流

    package com.bjsxt.ios3;
    
    import java.io.*;
    
    /**
     *1.只要关闭高层流即可,底层流不用手动关闭;因为高层的关闭方法就是把底层流关闭
     *
     *2.何时将输出缓冲区的内容写入硬盘
     *   1.输出缓冲区满,自动写入硬盘(刷新 flush)
     *   2.close()会先刷新
     *   3.手动的flush()
     * 3.缓冲流的原理
     */
    public class TestBuffredStream2 {
        public static void main(String[] args) throws IOException {
            //1.创建流
    //        InputStream fis = new FileInputStream("e:/JDK_API_1_6_zh_CN.CHM");
    //        OutputStream fos = new FileOutputStream("e:\\JDK_API_1_6_zh_CN2.CHM");
    //        BufferedInputStream bis = new BufferedInputStream(fis);//8192
    //        BufferedOutputStream bos = new BufferedOutputStream(fos);//8192
            BufferedInputStream bis =
                    new BufferedInputStream(new FileInputStream("e:/JDK_API_1_6_zh_CN.CHM"));//8192
            BufferedOutputStream bos =
                    new BufferedOutputStream(new FileOutputStream("e:\\JDK_API_1_6_zh_CN2.CHM"));//8192
            //2.使用流
            //2.1 准备一个中转站(一个字节)
            byte [] buf = new byte[1024];
            //先读一个字节
            int len= bis.read(buf);//读源文件的一个字节赋给n
            while(len  != -1){ //读到 了数据,还没有到文件末尾
                //写一个字节
                bos.write(buf,0,len);
                //再读一个字节
                len= bis.read(buf);//读源文件的一个字节赋给n
            }
    
            //3.关闭流
            bos.flush();
            bis.close();
            bos.close();
    //        fis.close();
    //        fos.close();
        }
    }
  • 相关阅读:
    java+web+多级文件上传
    Java+web+上传文件夹
    java文件实现文件的上传和下载
    web文件夹上传
    js实现上传文件夹
    云中应用性能管理(APM)的下一步
    Cocoa 静态显示一个对话框
    Gradle 1.12用户指南翻译——第三十三章. PMD 插件
    LeetCode_Minimum Depth of Binary Tree
    Android控件ListView获取item中EditText值
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14245145.html
Copyright © 2011-2022 走看看