108java内存操作流(内存流基本操作)

5 阅读1分钟

内存操作流(内存流基本操作)

一·内存操作流的定义

之前所有的操作,都是针对文件进行的 IO 处理,那么除了文件之外,IO 的操作也可以发生在内存之中。

这种流就称为内存操作流。文件流的操作里面一定会产生一个文件数据(不管最后这个文件数据是否被保留。)那么现在的要求就是需要发生 IO 处理。那么又不希望产生文件。

这种情况下就可以使用内存操作为操作的终端。

在 Java 中有两类数据流:

·字节内存流:

ByteArrayInputStream、ByteArrayOutputStream; 

·字符内存流:CharArrayReader、CharArrayWriter

观察 ByteArrayInputStream 和 ByteArrayOutputStream 类中提供的构造方法

ByteArrayInputStream 类构造:

public ByteArrayInputStream(byte[] buf)

ByteArrayOutputStream 类构造:

public ByteArrayOutputStream()

 

二·范例:通过内存流实现一个大小写转换的操作

public class TestDemo {

public static void main(string[] args) throws Exception {

String msg ="hello world !!!";

//实例化 Inputstream 类对象,实例化的时候需要将你操作的数据保存到内存之中,最终你读取的就是你设置的内容

Inputstream input=new ByteArrayInputstream(msg.getBytes()); Outputstream output =new ByteArrayoutputstream();

 int temp=0;

while((temp =input.read())!=-1) {

output.write(Character.toUpperCase(temp));//每个字节数据进行处理

} //此时所有的数据都在 Outputstream 类中了

System.out.println(output);//直接输出对象,调用 tostring() input.close();

output.close();}

这个时生了 io 操作,但是没有文件产生。

所以可以理解为一个临时文件方式处理。