内存操作流是以内存作为操作终端实现的IO数据处理,与文件操作不同的地方在于内存操作流不会进行磁盘数据操作,避免文件操作时所留下的磁盘痕迹
类名 | 作用 |
ByteArrayInputStream |
关闭ByteArrayInputStream没有任何效果。 在关闭流之后,可以调用此类中的方法,而不生成IOException 。 |
ByteArrayOutputStream | 实现了将数据写入字节数组的输出流。 当数据写入缓冲区时,缓冲区会自动增长。 数据可以使用 关闭ByteArrayOutputStream没有任何效果。 该流中的方法可以在流关闭后调用,而不生成IOException 。 |
CharArrayWriter | 实现了可以用作Writer的字符缓冲区。 当数据写入流时,缓冲区会自动增长。 可以使用toCharArray()和toString()检索数据。 |
CharArraReader | 实现了一个字符缓冲区,可以用作字符输入流 |
package one;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
public class One {
public static void main(String[] args) {
String word = "hello,gec.com";
ByteArrayInputStream bis = new ByteArrayInputStream(word.getBytes());
ByteArrayOutputStream bos = new ByteArrayOutputStream();
//把字符串转换成大写
int len = 0;
while((len=bis.read())!=-1) { //读取
int str = Character.toUpperCase(len); //转化为大写
bos.write(str); //写出去,写的目的地就是内置的缓冲区当中
}
//System.out.println(bos); 直接把输出流对象输出
byte[] array = bos.toByteArray();
System.out.println(new String(array)); //把byte数组转换成一个字符串String类型
}
}