zoukankan      html  css  js  c++  java
  • 2020.8.3

    一、今日学习内容:

    过滤(处理)流与内存操作流的掌握。

     1、过滤(处理)流       

            通常字节流只具有读写字节内容的方法,它们只能在文件中读取或者向文件中写入字节,在实际开发中往往需要在文件中读取或写入各种类型的数据,如整型、布尔类型等数据,就必须先将其他类型的数据转换成字节数组后写入文件,或者从文件中读取到的字节数组转换成其他数据类型,这时就需要包装类,它提供了向各种输出流对象中写入各种类型数据的方法。

    (1) DataOutputStream

       public a DataOutputSt ream (OutputStream out)

             对于DataOutputStream必须给它传一个输出流对象,完成类似DataOutputStream功能的类就是一个过滤流类或处理流类。
    (2)DataInputStream

      与前者类似,必须给他一个输出流对象,才能完成过滤流的功能。

    2、内存操作流: 之前的文件操作流是以文件的输入和输出为主的,文件操作流的输出位置是硬盘,但如果将输入输出的位置改变成了内存,就称为内存操作流,使用ByteArrayInputStream 完成内存的输入操作,而使用ByteArrayOutputStream完成内存的输出操作。

    内存操作流源代码实现:

    package Test1;
    import java.io.*;
    public class ByteArrayInputStreamDemo01 {
    /**
    * @param args
    */
    public static void main(String[] args) throws Exception{
    // TODO Auto-generated method stub
    String str="leigewudi";
    InputStream input=new ByteArrayInputStream(str.getBytes());//向内存中输出内容
    OutputStream out=new ByteArrayOutputStream();//从内存中读取内容
    char c[]=new char[1024];
    int temp,len=0;
    while((temp=input.read())!=-1){//写入内存
    c[len]=(char)temp;
    len++;
    }
    out.write(new String(c).toUpperCase().getBytes());//从内存中读取
    System.out.println(out.toString());//转大写
    out.close();
    input.close();
    System.out.println(new String(c,0,len));
    }
    }

    二、遇到的问题:

    内存操作流不明白。

    三、明日计划:

    对《大道至简》这本书做出总结,写读后感。

  • 相关阅读:
    事件修饰符(.passive)
    vue中$nextTick函数(异步dom更新)
    使用ellipsis时的问题和控制文字n行显示(webkit-box方法)
    font-size 设为0 解决行内元素边距问题(空白字符带来的间距问题)
    Vue-eBookReader 学习笔记(阅读进度部分)
    Vue-eBookReader 学习笔记(阅读器解析和渲染部分)
    mysql 免密登录
    ansible 复制文件到本地 localhost
    对象存储测试工具 cosbench
    Mac 下安装 mongodb
  • 原文地址:https://www.cnblogs.com/marr/p/13451870.html
Copyright © 2011-2022 走看看