温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java _io_字节缓冲流(装饰器)输入、输出

发布时间:2020-06-25 09:29:42 来源:网络 阅读:236 作者:wx5d21d5e6e5ab1 栏目:编程语言

*装饰模式

  • 字节缓冲流
  • BufferedInputStream bis=new BufferedInputStream(inputStream is)
  • BufferedOutputStream bos=new BufferedOutputStream(OutputStream os)
  • 最底层一定是节点流
  • 只需要释放最外层的处理流,若要手动关闭遵循从里到外的顺序关闭(从字节流到处理流)
  • 默认为8k,可以改变
    //参数是字节输入流对象
    InputStream is =new BufferedInputStream(new InputStream(f));
    OutputStream os=new BufferedOutputStream(new OutputStream(f));

处理流装饰字节流输入:

    File f =new File("C:\\Users\\10853\\eclipse-workspace\\hell\\src\\hell\\abc");

    InputStream is =null;
    try {
        **is=new BufferedInputStream(new FileInputStream(f));**

        byte[] flush =new byte[1024];
        int len=-1;
        while((len=is.read(flush))!=-1)
        {
            is.read(flush,0,len);
        }
    }catch(FileNotFoundException e)
    {
        e.printStackTrace();
    }catch(IOException e)
    {
        e.printStackTrace();
    }finally {

        try {

            if(null!=is)
            {
                i**s.close();**  //关闭处理流,会自动关闭字节流
            }
        }catch(IOException e)
        {
            e.printStackTrace();
        }

    }

处理流装饰字节流输出:

    File f=new File("D:d/c.txt");

    OutputStream os =null;
    try
    {
    **  os=new BufferedOutputStream(new FileOutputStream(f));**
        String s="addaa";
        byte[] datas=s.getBytes();
        os.write(datas,0,datas.length);
        os.flush();

    }catch(FileNotFoundException e)
    {
        e.printStackTrace();
    }catch(IOException e)
    {
        e.printStackTrace();
    }finally {
        try {
            if(**null!=os**)  //关闭处理流会自动关闭字节流
            {
                os.close();
            }
        }catch(IOException e)
        {
            e.printStackTrace();
        }   
    }
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI