Java中的流

  • Post author:
  • Post category:java




Java中的流



前言

什么是流?这个问题,其实困扰我很久了。在学I/O的时候,很多书籍就是一笔带过,压根就没说清楚这个流到底是啥。很多就是摘取一些书籍的概念,根本没有自己的理解,对初学者来说就是天书。



什么是流?

流是一个比较抽象的概念。为了说清楚,或者说为了方便理解,我不得不用一个比方。

水桶A有满满的一桶水,水桶B是空的。

现在要把A里面的水,转移到B。那么怎么做呢?

可能你会说,直接把A桶的水倒进B桶不就好了。

确实,这确实是一种方法。

那如果这个A桶在上海,B桶在西藏呢?

这时候要怎么做到呢?

要解决这个问题,其实我们现实生活中早就有解决办法了。

没错,就是水管。

所以这时候就需要用到水管了。我们需要在A桶建立管道,同时B桶也要建立接受的管道。这就跟IO对应起来了。

在计算机世界中,A桶可以是文件,B桶可以是内存,可以是硬盘,不管是什么,他们的作用就是用来存放数据,存放资源。

所以,流可以理解为资源在运输过程中的一种形式,这种形式像水一样。(资源包括,文件、图片、文字等。而这些资源又可以叫做数据,数据在网络中是一个更广泛的概念,如果不清楚可以百度一下什么叫:数据)

为什么资源或者说数据可以具有流这种形式呢?这就不得不提,在计算机世界中,其实一切都是0和1,都是虚拟的。

整个计算机世界就是数据的世界,像空气,像大海,像满天星辰,像水。

一切都是可以拆解为最小单位,然后按顺序排列,然后重组成一个你所能理解的事物,一个个事物最终组成宏观的世界。

运送资源,就是将资源从一个地方送到另一个地方,怎么送呢?那就是通过流的方式运送。



版权声明:本文为sinat_38719275原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。