关键词搜索

源码搜索 ×
×

(Java)内存操作流

发布2020-02-09浏览730次

详情内容

程序中的输入和输出不只可以从文件出来,也可以将输出的位置设置在内存上。此时就需要使用到 ByteArrayInputStream、ByteArrayOutputStream 来完成输入和输出。

ByteArrayInputStream:主要完成将内容写入到内存中
ByteArrayOutputStream:主要完成将内存中的数据输出

    在这里插入图片描述
    ByteArrayInputStream 类的主要方法:
    在这里插入图片描述
    ByteArrayInputStream 主要是使用构造方法将全部的内容读取到内存中,如果要想把内容从内存中取出,则可以使用 ByteArrayOutputStream 类。
    ByteArrayOutputStream 类的主要方法:
    在这里插入图片描述
    使用内存操作流完成将大写字母转换为小写字母的程序

    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    
    public class Root{
        public static void main(String[] args) {
            String str = "HELLO WORLD";
            ByteArrayInputStream bis = null;//声明一个内存的输入流
            ByteArrayOutputStream bos = null;//声明一个内存的输出流
            bis = new ByteArrayInputStream(str.getBytes());//向内存中输出内容
            bos = new ByteArrayOutputStream();//准备从 ByteArrayOutputStream 中读取数据
            int temp =0;
            while ((temp = bis.read()) != -1) {
                char c = (char)temp;//将读取的数字变为字符
                //每次都写入一个字符,不断写入
                bos.write(Character.toLowerCase(c));//将字符变为小写
            }
            String newStr = bos.toString();//取出内容
            try{
                bis.close();
                bos.close();
            }catch (IOException e){
                e.printStackTrace();
            }
            System.out.println(newStr);
        }
    }
    
      3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    在这里插入图片描述
    此时的所有操作全部是在内存中完成的

    内存操作流一般在生成一些临时信息时才会使用,而这些临时信息如果要保存在文件中,则代码执行完后还要删除这个临时文件,因此此时使用内存操作流最合适

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载