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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭金龙 中级黑马   /  2012-12-21 16:50  /  2175 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我总是把FileOutputStream和FileInputStream理解反了,觉得Out是输出的意思是read,in是写入是write的意思,请问有好的理解方法吗?

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 涛哥 ,满足你 。

查看全部评分

11 个回复

倒序浏览

我忽然明了你发生困惑的原因:
我读到的(Read),就是程序输出的(out)
我写出的(write),就是要输出到程序的(in)

进和出是相对的,所以理解关键在于参照物要选择准确而且固定,这样就不会混淆。
做到人和代码合而为一。你就是代码,代码就是你。
如:
read(读)--------代码要读入数据,我要数据。
in(进)--------------数据要进入到代码中,数据给我。

你没有做到人码合一的境界,多多体会。

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 罗海清 于 2012-12-21 17:46 编辑

我做了一个图,希望能解开疑惑

捕获.PNG (19.56 KB, 下载次数: 119)

FileOutputStream和FileInputStream

FileOutputStream和FileInputStream

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 hanyahui 于 2012-12-21 18:08 编辑

可以这样理解,input是“输入”,output是“写出”,输就是往里面输,写就是忘外面写!!!
回复 使用道具 举报
我也经常搞混淆这个,你站在计算机的角度去想就好了,计算机输出是Output和计算机写出去Writer,输入计算机用Input和计算机读的功能Reader,即读入计算机。
回复 使用道具 举报
打个比方,
你在看书的时候,是read,是从外部获取信息到自己 这个方向是in

你在写字的时候,是write,是从内部向外部提供信息,方向是out。

记住“写出来”,就记住了“write output”。那么对应的read input你也就记住了。
回复 使用道具 举报
周超 中级黑马 2012-12-21 20:17:40
7#
对于程序来说的输入 就是文本文件的输出~  即:读取文本内容到程序 对程序来说是输入~输出也是~ 对程序来说的输出 就是对文本来说的输入~ 程序输出信息到文本~ 流的意思 可以形象的理解一个管道里边的流水~ 管道的一头是程序 一头是文件 这个管道连接了文件和程序 让他们的信息可以互相流动~文件-->程序    程序-->文件  都可以~
回复 使用道具 举报
filter 中级黑马 2012-12-23 14:58:25
8#
IO流:输入流,输出流
输入流和输出流相对于内存设备而言.
将外设中的数据读取到内存中:输入,将内存的数写入到外设中:输出。
所以只要记着相对于内存来说,将数据读进内存就是Reader,InputStream;将数据从内存中写入其他设备就是Writer,OutputStream
回复 使用道具 举报
你选好一个参照物,最好选择“内存”,数据从内存出去,到文件,就是out;从文件到内存就是in
回复 使用道具 举报
还是要选择好参照物。比如文件就是一个房间,outputStream输出流就是把家具搬进房间,也就是写入数据嘛!inputStream输入流就是人站在房间中查看家具,也就是读取数据。
回复 使用道具 举报
这个是根据自己的理解来的,我们写的程序数据都是呀过内存的,不管是要网络上读取,还是从硬盘上读取,只要是从外边往内存里读的都是in,相反,我们有的时候需要将数据呢存储到网络上或者是本地硬盘,那么我们呢就要用out来将数据序列化到指定的位置。不知可说的明白?
回复 使用道具 举报
输入输出是对程序而言的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马