内存操作流,有三个
1、字节数组
2、字符数组
3、字符串
/**
* Created by liwei on 16/7/19.
* 内存操作流:用于处理临时存储信息的,程序结束,数据就从内存中消失
* 字节数组:
* ByteArrayInputStream
* ByteArrayOutputStream
* 字符数组:
* CharArrayReader
* CharArrayWriter
* 字符串:
* StringReader
* StringWriter
*/
public class ByteArrayStreamDemo {
public static void main(String[] args) throws IOException {
// 写数据
ByteArrayOutputStream baos = new ByteArrayOutputStream();
for(int x=0;x<10;x++){
baos.write(("liwei" + x).getBytes());
}
// 释放资源(看源代码可以知道,这里其实什么都没有做)
baos.close();
// public byte[] toByteArray()
byte[] bys = baos.toByteArray();
// 读数据
// ByteArrayInputStream(byte[] buf)
ByteArrayInputStream bais = new ByteArrayInputStream(bys);
int by =0;
while ((by=bais.read())!=-1){
System.out.println((char)by);
}
bais.close();
}
}
字符操作流
public class CharArrayDemo {
public static void main(String[] args) throws IOException {
CharArrayWriter caw = new CharArrayWriter();
for (int i=97;i<100;i++){
caw.append((char) i);
}
caw.close();
char[] chs = caw.toCharArray();
CharArrayReader car = new CharArrayReader(chs);
int ch = 0;
while ((ch=car.read())!=-1){
System.out.println((char)ch);
}
caw.close();
}
}
再次强调一下:流使用完毕以后都须要关闭。