日期:2014-05-20  浏览次数:20721 次

郁闷啊!!!输入流和输出流有什么区别啊!!!!
我老是被搞混!!!输入流 输出流 读取和写入之间究竟有什么区别啊????????
能不能说的容易些啊?例如 doc 命令行显示的内容又是什么流呢
还有键盘 和对硬盘上的数据上的操作用什么流啊 大侠们!

------解决方案--------------------
输入、输出是相对于 JVM 来说的。

从外部读取数据到 JVM 内存中,相对于 JVM 来说就是输入
从 JVM 内存写数据到文件中,或者其他地方,相对于 JVM 来说就是输出
------解决方案--------------------
站在程序的角度去想读和写.因为是程序要做那些事情.
------解决方案--------------------
可以把所要操作的文件比作一个水桶,里面的数据就是水桶里的水.
拿常用的 FileInputStream 和 FileOutputStream 来说吧:
FileInputStream fileInputStream = new FileInputStream(new File("来源文件"));
当 new 一个 FileInputStream 实例时就打开了这个"来源文件",就像往水桶上插了一根管子,里面的水随时都可以流出来.当 fileInputStream.read() 时,水桶里的水就通过管子开始出来了.这时:
FileOutputStream fileOutputStream = new FileOutputStream(new File("目的文件"));
又来了一个水桶,也插了一根管子,当 fileOutputStream.write(...) 时,这根管子就和上一根管子接在了一起,开始接收上面那个管子流出来的水...,至此就完成了一个文件读写的过程,当然过程中还有设置缓冲区,最后关闭流这些细节.
我就是这样理解的,不知能不能帮上你