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));
}
}

二、遇到的问题:

内存操作流不明白。

三、明日计划:

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

原文地址:https://www.cnblogs.com/marr/p/13451870.html