zoukankan      html  css  js  c++  java
  • JavaIO流学习总结-BufferedOutputStream和BufferedInputStream基本操作练习

    /**
     * 修改日期:2020/04/01
     * 修改人:牟松
     * 缓冲流BufferedOutputStream和BufferedInputStream基本操作练习
     * 问题:手动修改文件之后,不知道为何会出现无法从缓冲区中读取数据的问
     * 参考链接:https://blog.csdn.net/lyb1832567496/article/details/52727862/
    **/

     
    BufferedInputStream:
    /**
     * 修改日期:2020/04/01
     * 修改人:牟松
     * BufferedInputStream:处理流(高级流),缓冲输入流
    **/
    package io;
    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
     
     
    public class BISDemo01 {
        public static void main(String[] args){
            try {
                  FileInputStream fis=new FileInputStream("BISDemo.txt");
                  BufferedInputStream bis=new BufferedInputStream(fis);
                  String content=null;
                  byte[] buffer=new byte[10240];
                  int flag=0;
                  while((flag=bis.read(buffer))!=-1){
                       content+=new String(buffer, 0, flag);
                  }
                System.out.println(content);
                bis.close();
            } catch (Exception e) {
                    e.printStackTrace();
            }
        }
    }
     
    BufferedOutputStream:
     
    package io;
    import java.io.BufferedOutputStream;
    import java.io.FileOutputStream;
    /**
     * 修改日期:2020/04/01
     * 修改人:牟松
     * BufferedOutputStream:处理流(高级流),缓冲输出流
    **/
     
    public class BOSDemo01 {
        public static void main(String[] args){
            try {
                FileOutputStream fos=new FileOutputStream("BOSDemo.txt");
                BufferedOutputStream bos=new BufferedOutputStream(fos);
                String content="输出流测试数据!";
                bos.write(content.getBytes(),0,content.getBytes().length);
                bos.flush();
                bos.close();
            } catch (Exception e) {
                    e.printStackTrace();
            }
        }
    }
     
    SummaryBISAndBOS:
    package io;
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    /**
      * 修改日期:2020/04/01
      * 修改人:牟松
      * 使用缓冲输出流和缓冲输入流实现文件的复制
     **/
    public class SummaryBISAndBOS {
        public static void main(String[] args){
            /**
             * 1.先将文件中的内容读入到缓冲输入流中
             * 2.将输入流中的数据通过缓冲输出流写入到目标文件中
             * 3.关闭输入流和输出流
             */
            try {
                long begin=System.currentTimeMillis();
                FileInputStream fis=new FileInputStream("BISDemo.txt");
                BufferedInputStream bis=new BufferedInputStream(fis);
                FileOutputStream fos=new FileOutputStream("BOSDemo.txt");
                BufferedOutputStream bos=new BufferedOutputStream(fos);
                int size=0;
                byte[] buffer=new byte[10240];
                while((size=bis.read(buffer))!=-1){
                    bos.write(buffer, 0, size);
                }
                //刷新此缓冲的输出流,保证数据全部都能写出
                bos.flush();
                bis.close();
                bos.close();
                long end=System.currentTimeMillis();
                System.out.println("使用缓冲输出流和缓冲输入流实现文件的复制完毕!耗时:"+(end-begin)+"毫秒");
            } catch (Exception e) {
                 e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    关于EasyUI datagrid 无法在dialog中显示的问题分析及解决方案!
    WPF 矩形框8个控制点伸缩及拖拽
    Socket异步通信及心跳包同时响应逻辑分析(最后附Demo)。
    C#断点续传下载。
    C# 全屏坐标及区域坐标获取。自定义光标及系统光标描边捕捉显示。
    解决项目无法添加VBIDE问题
    python爬虫-入门-了解爬虫
    字符串输入数字
    面试题3--数组中的重复数字(new数组的新写法)
    等号操作符重载为什么不能用友元函数大揭秘,以及函数没有等到重载的时候赋值会出现什么现象(盲点)
  • 原文地址:https://www.cnblogs.com/musong1998/p/12611965.html
Copyright © 2011-2022 走看看