流的概念

计算机程序最一般的模型可以归纳为:输入、计算和输出。输入和输出是人机交互的重要手段,一个设计合理的程序应该首先允许用户根据具体的情况输入不同的数据,然后经过程序算法的计算处理,最后以用户容易接受的方式输出结果。java用流的概念来表示输入输出。java提供的输入输出功能十分强大而灵活,美中不足的是起初看上去输入输出的代码可能并不是很简洁,因为往往需要创建许多不同的流对象。在java类库中,I/O(输入和输出)部分的内容有很多,这点看下JDK的java.io包就知道了,它涉及的主要关键类有:InputStream、OutputStream、Reader、Writer和File等。当熟悉了java的输入输出流以后,读者会发现其实java的I/O流使用起来还是挺方便的,因为java已经对各种I/O流的操作做了相当程度的简化处理。
    流(Stream)是对数据传送的一种抽象,当预处理数据从外界"流入"程序中时,就称之为输入流,相反地,当程序中的结果数据"流到"外界(如显示屏幕、文件等)时,就称之为输出流,换句话说,输入或输出其实是从程序的角度来讲的。InputStream和OutPutStream类是用来处理字节(8位)流的,Reader和Writer类是用来处理字符(16位)流的,而File类则是用来处理文件的。细心地读者可能会问:那么以前用过的System.out.println()和System.in.read()又算哪一种呢?事实上,它们是java提供的标准输入输出流。其中System为java自动导入java.lang中的一个类,他含有3个内建好的静态流对象:err、in和out.分别用于标准错误输出/标准输入和标准输出,在程序中可以直接使用3个流对象,如调用它们的Println()或read()方法来实现标准输入输出功能。默认情况下,标准输入in用于读取键盘输入,而标准输入out和标准错误输出err用于把数据输出至启动程序运行的终端屏幕上。需要说明的是,in属于InputStream对象,而err和out则属于PrintStream(由OutPutStream间接派生)对象,因此,在这个层面上可以认为标准输入输出是属于字节流的范畴,它们的数据处理是以字节为单位,但是,java提供的Decorator(包装)技术又允许用户将标准输入输出流转换为双字节为处理单位的字节流,所以,字节流和字符流只是相对的概念,他们之间也可以相互的转换。另外,利用System类提供的一下静态方法,还可以把标准输入输出的数据流重定向到一个文件或者另一个数据流中。
    public static void setIn(InputStream in)
    public static void setOn(PrintStream out)
    public static void setErr(PrintStream err)
  标准错误输出只用来输出错误信息,它即使被重定向到其他地方,也仍然会在控制台输出显示,而标准输入和输出则用于交互式的I/O处理。

时间: 2024-11-06 20:23:07

流的概念的相关文章

鲨鱼币上线聚币网交易, 流支付概念得大佬推崇

近日,SAK已正式联手聚币网,成为该平台又一潜力巨大的明星产品.据悉,聚币网为比特币交易网旗下数字货币交易平台,创办于2014年初,现上线的币种包括比特币.莱特币.狗狗币.暗黑币.比特股等.SAK的加盟无疑让这一平台进一步提升.同时,比特币交易网CEO张寿松对这次合作表示满意,对SAK支付.流支付有价值认同. 张寿松表示:SAK支付在实体商户中的推广应用规划是值得肯定的,尤其是基于移动互联网和线下高端商户结合的O2O项目,一旦可以推广起来,对SAK支付在实体商户中的应用将是一个很好的促进,让更多

C/C++中关于输入输出缓冲区和流的概念理解

(本文章关于缓冲区概念的理解部分取自:http://developer.51cto.com/art/201107/277186.htm) 首先可以看下快递的寄送过程: 源地址(商家的仓库)——中转地(快递公司的仓库)——目的地(买家) 我们从淘宝商家买衣服,商家通过快递公司把商品送到我们手里的这个过程可以形象的解释下缓存区和流的这个概念. 1, 淘宝商家不会亲自把商品给买家送过来的,因为这样效率太低了,商家会通过快递公司这个中转,然后快递公司再把东西送给买家.淘宝商家就是在键盘上打字,买家就是程

OTL翻译(2) -- OTL流的概念

OTL流的概念 任何的SQL语句.SQL语句块或存储过程,都是通过输入与输出变量进行处理参数与结果的. 如: 例1:一个SELECT语句把标量的输入变量作为WHERE子句部分的条件:同时SELECT部分则定义了输出的字段,并且在结果集为多行的情况下还是一个VECTOR结构. 例2:一个INSERT语句把数据写入数据库中,同样需要输入数据.UPDATE也是同样的道理. 例3:一个DELETE语句从表中删除数据,删除的条件同样需要通过参数输入. 例4:一个存储过程可能同时具有输入与输出参数.通过存储

Java IO 理解流的概念

Java IO 理解流的概念 @author ixenos 在理解流时首先理解以下概念 1.流的来源和去向一般在构造器指出 2.方法中的形参一般是将流输出到某个位置,读取时从流读出数据(来自流)送到位置上,输出时将所要输出的数据(来自我)送到位置上

转:Delphi 流的概念

Delphi流的操作 一.流的概念 流简单说是建立在面向对象基础上的一种抽象的处理数据的工具,它定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员只需掌握对流进行操作,而不用关心流的另一头数据的真正流向.其实,流就是把整个对象转化为一个一个单字节数据,然后形成数据流,其形同把固体石块打碎成一颗颗细小的沙子一样,最后可以形成流沙. 二.流的主要功能 流的主要功能是对文件与非文件数据相互转换进行操作(即它们之间的I/O操作).如将图片文件保存到数据库,那么数据库中的图片数据就变成非文件数据

09-JS的事件流的概念(重点)

在学习jQuery的事件之前,大家必须要对JS的事件有所了解.看下文 事件的概念 HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件.页面的滚动事件onscroll等等,可以向文档或者文档中的元素添加事件侦听器来预订事件.想要知道这些事件是在什么时候进行调用的,就需要了解一下"事件流"的概念. 什么是事件流 事件流描述的是从页面中接收事件的顺序 1.DOM事件流 "DOM2级事件"规定的事件流包括三个阶段: ① 事件捕获阶段: ② 处于目标

JS的事件流的概念(重点)

在学习jQuery的事件之前,大家必须要对JS的事件有所了解.看下文 事件的概念 HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件.页面的滚动事件onscroll等等,可以向文档或者文档中的元素添加事件侦听器来预订事件.想要知道这些事件是在什么时候进行调用的,就需要了解一下"事件流"的概念. 什么是事件流 事件流描述的是从页面中接收事件的顺序 1.DOM事件流 "DOM2级事件"规定的事件流包括三个阶段: ① 事件捕获阶段: ② 处于目标

推流和拉流的概念以及RTMP和HLS协议

https://www.bbsmax.com/A/x9J2wZM56o/ 推流为将直播内容推送至服务器的过程:拉流为服务器已有直播内容,用指定地址进行拉取的过程. rtmp rtmp是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写.该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种.RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进

流的概念与原理

一.概念  Java中对文件的操作是以流的方式进行的.流是 Java内存中的一组有序数据序列.Java将数据从源(文件.内存. 键盘.网络)读入到内存中,形成了流,然后将这些流还可以写到另外的目的地(文件.内存.控制台.网络),之所 以称为流,是因为这个数据序列在不同时刻所操作的是源的不同部分. 二.分类  流的分类,Java的流分类比较丰富,刚接触的人看了后会感觉很晕.流分类的方式很多: 1.按照输入的方向分,输入流和输出流,输入输出的参照对象是 Java程序. 2.按照处理数据的单位不同分,