如何理解JAVA中的流概念

原创 2004年07月03日 21:15:00

流机制是JAVAC++中的一个重要的机制,通过流能使我们能自由地控制包括文件,内存,IO设备等等中的数据的流向。如:可以从文件输入流中获取数据,经处理后再通过网络输出流把数据输出到网络设备上;或利用对像输出流把一个程序中的对象输出到一个格式流文件中,并通过网络流对象将其输出到远程机器上,然后在远程机器上利用对象输入流将对象还原。像这些机制是别的高级语言所不能比拟的。但要掌握好这些流对象,流的概念是很重要的。

 

流是一串连续不继的数据的集合,就像水管一里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段一段地向数据流管道中写入数据,这些数据段会按先向顺序形成一个长的数据流。对数据的读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后面的数据。不管写入时是将数据分多次写入,还是作为一个整体一次写入,读取时的效果都是完全一样的。

JAVA中的流按流动方向可以分为输入流及输出流两种,按流的处理位置可分为节点流和包装流。

输入流,输出流是以程序为参考点来说的,所谓的输入流就是程序从中获取数据的流,输出流就是程序要其写数据的流。在输入流的一边是程序,而另一边就是流的数据源。而输出流的一边则目标,一边就是程序。其实流可以想像成是一条长河,在上游有一水库提供水源,河边住着一户人,随时都可以从河边取到水,同时,这户人也可以把一些废水倒进河里,使得废水可以流进大海。这里所提到河就是一个数据的流动通道,而水库就好比是计算机上的一切数据源,包括磁盘文件,内存,IO设备,键盘等等,JAVA提供了非常完善的输入流类来把这些数据源挂接到流上使得程序能从这些输入流中获取所需的数据。河边上的用户就是程序,它能随时随地从流中取得数据,只要有数据源挂接到这个通道上可以。而大海就是程序处理完数据后要流向的目的地,这些目的地包抱磁盘文件,内存,IO设备,显示器等,这些目的地只是相对程序来说的,它们也可能是别的进程的输入流。

如下例子,将数据输出到别的文件,再从文件中读出数据

File f=new File(“1.test”);

Try

{

       FileOutputStream out=new FileOutStream(f);

       Byte buf[]=”hello world”.getBytes();

       Out.write(buf);

       Out.close();

}

catch(Exception e)

{

       System.out.println(e.getMessage());

}

try

{
       FileInputStream in=new FileInputStream(f);

       byte buf[]=new byte[1024];

       int len=in.read(buf);

       System.out.println(new String(buf,0,len));

}

catch(Exception e)

{
       System.out.println(e.getMessage());

}

 

 

 

 

程序用于直接操作目标设备所对应的类叫节点流类,程序也可以通过一个间接流类去调用节点流类,以达到更加灵活方便地读写各种类型的数据,这个间接流类就是包装流类。在JAVA

java 流概念的理解

java 流概念的理解 一、“流”的概念        “流”是一个抽象的概念,它是对输入输出设备的一种抽象理解,在java中,对数据的输入输出操作都是以“流”的方式进行的。“流”具有方向性,输入...
  • lj188266
  • lj188266
  • 2015年08月05日 10:05
  • 2225

JAVA IO流深入理解

摘要: Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。 ...
  • LoveStudy_girl
  • LoveStudy_girl
  • 2016年06月23日 14:33
  • 3652

深入理解流,什么是流?

http://www.cnblogs.com/shitouer/archive/2012/12/19/2823641.html 最近在看《Hadoop:The Definitive Guid...
  • HanSnowqiang
  • HanSnowqiang
  • 2015年12月01日 15:45
  • 3320

java Io流基本概念

一什么是流流是一个抽象的概念。当Java程序需要从数据源读取数据时,会开启一个到数据源的流。数据源可以是文件,内存或者网络等。同样,当程序需要输出数据到目的地时也一样会开启一个流,数据目的地也可以是文...
  • andloves
  • andloves
  • 2015年09月28日 18:01
  • 747

Java中的stream流的概念解析

Java中的stream流的概念解析
  • zx48822821
  • zx48822821
  • 2017年04月06日 15:25
  • 811

我对java IO流简单的理解

Java IO流
  • qin20082012
  • qin20082012
  • 2016年03月29日 17:11
  • 614

深入理解 Java中的 流 (Stream)

深入理解 Java中的 流 (Stream) 个人小站,正在持续整理中,欢迎访问:http://shitouer.cn 小站博文地址:深入理解 Java中的 流(Stream)机制 最近在看...
  • zhangjintianyi
  • zhangjintianyi
  • 2015年12月18日 11:42
  • 411

Java中的流(概念和示例)

首先,流是什么? 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行。设备可以是文件,网络,内存等。 流具有方向性,至于是输入...
  • superjunjin
  • superjunjin
  • 2014年03月13日 17:08
  • 2314

Java中流的概念

一直不是很清楚 JAVA 中关于从控制台输入的问题,这是一个解决办法,附上源文地址昨天寝室同学问了我个关于Java流的问题,在解答完后很有感触,我认为可能所有新手都可能有这样的问题,所以总结一下发出来...
  • zhangyunfei_happy
  • zhangyunfei_happy
  • 2015年07月03日 14:30
  • 612

Java输入输出(IO)和流的基本概念

我们对文件的概念已经非常熟悉了,比如常见的 Word 文档、txt 文件、源文件等。文件是数据源的一种,最主要的作用是保存数据。 在《载入内存,让程序运行起来》一文中我们提到,所有的文件(保存在...
  • freestylewill
  • freestylewill
  • 2016年07月11日 19:42
  • 1054
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何理解JAVA中的流概念
举报原因:
原因补充:

(最多只允许输入30个字)