A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© java--周群 中级黑马   /  2014-2-22 19:46  /  2197 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

IO中说流是用来处理数据的,老是李理解不了,它是怎么用来处理数据的,流处理是一个什么概念?

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

14 个回复

倒序浏览
你用qq聊天,聊天说的话打的字就是数据,你手机里的歌曲MP3文件,硬盘里存的岛国电影,这些都是数据

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1 彪悍的解释!特别是后面一句!喜欢!.

查看全部评分

回复 使用道具 举报
流相当于一根水管,想要从键盘读入数据在硬盘上输出,就需要一根管子接到键盘,读到数据后写到直通硬盘文件的输出管道中去!

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
流是指流动的数据序列,可分为输入流和输出流。在程序设计语言中,流式输入输出是一种常见的输入输出方式。它是一个比文件更加广泛的概念。

输入流将外部数据输入到计算机。例如从键盘,扫描仪,摄相头,网络等数据源输入数据。

输出流将计算机中的数据输出到外部设备。例如将要打印的信息发送到打印机,将计算的结果显示到输出设备上。

流的特点:所有数据的传输都按照数据序列的顺序进行。每个数据依序被读入或写出,JAVA中采用类的方式实现I/O流。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
可以说成就是数据的定向移动,一个个的字节字符从这里到那里
回复 使用道具 举报
流相当于一个管道,里面流淌的是数据,计算机中对流进行的主要是序列化和反序列化数据,让数据变成流,在管道的两端可以理解为接收和发送两端做相应的序列化和反序列化处理,得到相应的数据。数据传输必须用流才行。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
流是什么?流就是水啊!水总是从一个方向流带另一个方向,
你要读一个文件,FileReader就关联这个文件,让数据从文件里流出来,就像从水池里取水,插个抽水机去抽水的道理一样啊,数据具体到字节就像水具体到水滴一样嘛。
同理,你要写一个文件,FileWriter关联这个文件,让数据流进这个文件里。
也不用想的太复杂,流也就只是一种形象的说法,主要还是掌握那些个读写方法和什么时候使用什么流对象就可以了。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
薆情媬証書 来自手机 中级黑马 2014-2-23 03:48:04
8#
计算机中的文件都是二进制的形式存在电脑里的,而当我们操作这些数据时就用到了流,流是一种数据的加载过程!

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
↑↓ME→← 发表于 2014-2-22 21:45
流相当于一根水管,想要从键盘读入数据在硬盘上输出,就需要一根管子接到键盘,读到数据后写到直通硬盘文件 ...

流对数据进行处理仅仅是将数据进行传输吗?
回复 使用道具 举报
戚兴海 发表于 2014-2-23 00:44
流是什么?流就是水啊!水总是从一个方向流带另一个方向,
你要读一个文件,FileReader就关联这个文件,让 ...

流对数据进行处理就是将数据进行传输吗?
回复 使用道具 举报
java--周群 发表于 2014-2-23 11:16
流对数据进行处理就是将数据进行传输吗?

可以这么理解的,毕老师的视频里有这样的分析,比如用流对象对一个文件进行读的时候,要分析源和目的,源就是这个文件,目的是你要输出的地方,把数据从源读到目的位置上,不就是对数据进行传输嘛
回复 使用道具 举报
其实这个原理也算是简单的 咱们可以理解为 IO就是用来读写使用的 咱们的写程序就是在硬盘和内存之间的交互的,他们的交互就需要有一个类来作为完成交互的方法,IO流其实就是一个类似管道的东西, 它能够将内存里面的数据通过这个流,将数据写入硬盘里,保存在硬盘中以方便以后的使用,或者将硬盘的数据读取到内存中。
这样流的作用也是可以延长程序某些对象的生命周期的。写一个程序肯定少不了对于硬盘数据的写入和读取的 因此,这个IO 是一个非常关键的 很重要的知识点
回复 使用道具 举报
    在Java程序中,对于数据的输入/输出操作以”流”(stream)方式进行;JDK提供了各种各样的”流”类,用以获取不同种类的数据;程序中通过标准的方法输入或输出数据。
    个人理解:可以将流想象成管道,管道的一端连接着要输出的文件,一端连接着要输入的那端,当用“流”连接起来之后就可以进行操作了。
回复 使用道具 举报
1、“流”是为了形象的说明该文件操作动作。
2、硬盘上存放的所有内容都是文件,这些文件如果用次小的单位表示就是字节,对文件进行操作,就是读取里面的字节内容。
3、文本文件常用的操作类有FileReader、FileWriter。
4、一般文件如照片、电影常用操作类有FileInputSteam、FileOutputSteam。
5、字节流转字符流的桥梁类有InputStreamReader。
6、字符流转字节流的桥梁类有OutputStreamWriter。
7、为了提高字符读取写入效率的缓冲类有BufferedReader、BufferedWriter
8、为了提高字节读取写入效率的缓冲类有BufferedInputStream,BufferedOutputStream

详细内容可以参见my blog:
http://blog.csdn.net/nerv2013/article/details/18256643(基础篇)
http://blog.csdn.net/nerv2013/article/details/19436797(提升篇)
回复 使用道具 举报
流  其实并没有处理数据,它只负责将数据从一个地方移动到其他的地方,只相当于搬运数据的功能。

只是java里的流有点绕,in, out ,都是针对数据所在地而言的,容易让人弄糊涂了,每个地方的数据都有一个in,一个out;而且分类又多,
比如System.in;System.out;可以理解为,System.in为从键盘输入到控制台,控制台也就是System所在的位置,也就是数据所在的位置; 而不是针对数据而言的,对于System而言,数据是输入的,所以是in;
不知道我的理解是否正确,一其学习。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马