• 关于ByteArrayInputStream和ByteArrayOutputStream


    package stream.byte_;
    
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    
    /**
     * 内存操作流:用于处理临时存储信息的,程序结束,数据就从内存中消失。
     *
     * 字节数组: ByteArrayInputStream ByteArrayOutputStream
     * 
     * 操作字符数组 CharArrayReader CharArrayWriter
     * 
     * 操作字符串 StringReader StringWriter
     * 
     * @author 半步疯子
     *
     */
    public class ByteStreamDemo {
    	/*
    	 * public class ByteArrayOutputStreamextends OutputStream 此类实现了一个输出流,其中的数据被写入一个
    	 * byte 数组。 缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray() 和 toString() 获取数据。 关闭
    	 * ByteArrayOutputStream 无效。 此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException。
    	 * 
    	 * 
    	 * 底层是byte数组; 但是可指定size 但是我们需要的本来就是这种可以自动增长的流; 所以一般不用修改
    	 */
    	public static void main(String[] args) throws IOException {
    		ByteArrayOutputStream baos = new ByteArrayOutputStream();
    		// 写数据
    		for (int i = 0; i < 10; i++) {
    			baos.write("hello
    ".getBytes());
    		}
    
    		// 释放资源
    		// 但是这种释放资源并没有意义,因为其实这种资源并不需要关闭
    		// public void close() throws IOException {
    		// }
    		baos.close();
    
    		// 读数据
    		byte[] bys = baos.toByteArray();
    
    		ByteArrayInputStream bais = new ByteArrayInputStream(bys);
    		int by = 0;
    		while ((by = bais.read()) != -1) {
    			System.out.print((char) by);
    		}
    
    		// bais.close();
    	}
    }


  • 相关阅读:
    POC- Proof of Cocept -- 概念验证
    英语语法学习 7 -- 数词
    英语语法学习6 -- 代词
    英语语法学习5-冠词
    英语语法学习4-名词
    英语语法学习3-句子的组成和分类
    alibaba-Java开发手册心得-一编程规约-4oop(面向对象编程)规约
    alibaba-Java开发手册心得-一编程规约-3代码格式
    alibaba-Java开发手册心得-一编程规约-2常量定义
    魔法值的简单了解
  • 原文地址:https://www.cnblogs.com/mzywucai/p/11053439.html
Copyright © 2020-2023  润新知