java io方面的内存流问题 新手求解答

为什么向内存写入是用inputStream的子类ByteArrayInputStream向里面写,InputStream应该是读操作才对啊?

 首先,ByteArrayInputStream类是InputStream的子类,就是将输入流的内容读取到内部缓存区。
其次,你这里所谓的写,其实就是读取的意思,即从磁盘中读到内存缓存区中。就是InputStream字节输入流的用法。
public ByteArrayInputStream(byte[] buf) 

创建一个ByteArrayInputStream,使用buf作为缓冲区数组,实际上内存的输入就是在构造方法上将数据传入到内存之中。
ByteArrayOutputStream://输出就是从内存中写出数据。
利用public void write(int b) 利用它完成输出
http://blog.csdn.net/u013087513/article/details/51979764

楼上正解,你野可以参考下这篇文章http://blog.csdn.net/dlwh_123/article/details/35982015#comments

1.InputStream 是输入流,数据流向程序的流,输出流则是数据流出程序的流,是以程序作为参考物
2.InputStream的子类很多,你可以使用其他的类向程序写入数据,但ByteArrayInputStream可以提高你读取文件的速率,因为它内部有缓冲区,
不用每次都从内存里面读取,前提是你不关闭该资源

任何的input或者outputliu,都以程序作为参考点,input写入程序中,output从程序中输出

要以程序本身作为出发点,就可以理解这个问题了

所谓的读写操作是相对的,你要理解读写就理解这个了。