内存输出流

1.什么是内存输出流
    * 该输出流可以向内存中写数据, 把内存当作一个缓冲区, 写出之后可以一次性获取出所有数据
* 2.使用方式
    * 创建对象: new ByteArrayOutputStream()
    * 写出数据: write(int), write(byte[])
    * 获取数据: toByteArray()
    * 
            FileInputStream fis = new FileInputStream("a.txt");
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            int b;
            while((b = fis.read()) != -1) {
                baos.write(b);
            }
            
            //byte[] newArr = baos.toByteArray();                //将内存缓冲区中所有的字节存储在newArr中
            //System.out.println(new String(newArr));
            System.out.println(baos);
            fis.close();

作用:   先写到内存中出,  然后一次性全部写出

应用:    QQ聊天信息  短信等。     等编辑完再一次发送出去

定义一个文件输入流,调用read(byte[] b)方法,将a.txt文件中的内容打印出来(byte数组大小限制为5)
* 
            FileInputStream fis = new FileInputStream("a.txt");                //创建字节输入流,关联a.txt
            ByteArrayOutputStream baos = new ByteArrayOutputStream();        //创建内存输出流
            byte[] arr = new byte[5];                                        //创建字节数组,大小为5
            int len;
            while((len = fis.read(arr)) != -1) {                            //将文件上的数据读到字节数组中
                baos.write(arr, 0, len);                                    //将字节数组的数据写到内存缓冲区中
            }
            System.out.println(baos);                                        //将内存缓冲区的内容转换为字符串打印
            fis.close();

 

转载于:https://www.cnblogs.com/yaobiluo/p/11312558.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值