在这里我不讨论流的分类流的定义等,只想说说在我心中流是什么。网络上很多文章在解释这一问题时会用到下面一张图,同时解释说想象在源与目的之间有一个管道,这样便于理解。我十分不同意,这个比喻看似形象,其实是隔靴搔痒避开问题本质,深思不禁会问这个管道到底是什么东西?
其实一句话就能说清楚:流是数据的有序分次操作。举例说明,本地有个txt文件内容是“ABC”,创建一个字节输入流对象将其读取到程序中(即内存里),并新建一个StringBuffer对象存储数据。这一过程本质其实就是复制粘贴,只不过我们按照文件中数据的存储顺序依次复制粘贴其中的"A">"B">"C"。(了解过汇编的同学都知道将数据从硬盘读取到内存的过程,就是以字节为单位有序地读取硬盘数据到寄存器再写到内存中)
以上是笔者的理解,如果对你造成误导概不负责