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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java _io_字节缓冲流(装饰器)输入输出相关的知识,希望对你有一定的参考价值。

*装饰模式

  • 字节缓冲流
  • 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();
           
    

以上是关于java _io_字节缓冲流(装饰器)输入输出的主要内容,如果未能解决你的问题,请参考以下文章

java _io_转换流输入,将读取的百度源码输入到文件

java.IO输入输出流:过滤流:buffer流和data流

Java IO—缓冲字符流以及IO中的装饰者模式

IO中的装饰器模式

java _io_字节数组输出流

IO流01_字节字符流缓冲流标准输入输出流打印流