内存操作流,有三个
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();
    }
}

再次强调一下:流使用完毕以后都须要关闭。