内存操作流是以内存作为操作终端实现的IO数据处理,与文件操作不同的地方在于,内存流不会进行磁盘数据操作,Java中提供有两类内存操作流:
- 字节内存操作流:ByteArrayOutputStream、ByteArrayInputStream
- 字符内存操作流:CharArrayWriter、CharArrayReader
字节内存操作流
字符内存操作流
范例:利用内存流实现一个小写字母转大写字母的操作
package com.lxh.sixteenchapter;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class JavaIODemo417 {
public static void main(String[] args) {
String str="qwertyuiop";
InputStream in=new ByteArrayInputStream(str.getBytes()); //数据保存在内存输入流
OutputStream out=new ByteArrayOutputStream();
int data=0;
try {
while((data=in.read())!=-1) {
out.write(Character.toUpperCase(data));
}
System.out.println(out);
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
执行结果
QWERTYUIOP