JavaSE-IO流/10.IO流之内存操作流
玉骨西风,恨最恨、闲却新凉时节。
——周密《玉京秋》
## IO流之内存操作流1. 内存操作流概述
如果我们在操作流的时候,不想让流输出到文件中,但是又需要对流进行操作,就可以使用内存流来实现输入与输出。针对于内存流,
java.io 包
里面提供了两组操作:
- 字节内存流:
ByteArrayInputStream、ByteArrayOutputStream
- 字符内存流:
CharArrayReader、CharArrayWriter
两者在操作上面就类似于
FileInputStream、FileOutputStream 与 FileReader 与 FileWriter
。
2. 与基础流OutputStream/InputStream
的区别
- 以文件操作为例:
输出(OutputStream):程序 → OutputStream → 文件;
输入(InputStream):程序 ← InputStream ← 文件;
- 以内存操作为例:
输出(ByteArrayInputStream):程序 → ByteArrayInputStream→ 内存;
输入(ByteArrayOutputStream):程序 ← ByteArrayOutputStream← 内存;
- 需要注意的 是程序是运行在内存上的。
3. 测试
将
str字符串
通过ByteArrayInputStream
读取到内存中,然后通过ByteArrayOutputStream
将内存中的数据输出(也就是在程序中)。
1 | /** |