黑马程序员_io流的理解

------- android培训java培训、期待与您交流! ----------

 

刚接触流的时候,总是很难理解什么是流?特别是输入流和输出流。你说它输入流嘛,它是读取数据的,读取明显是取出的,还有输出流,它是写入数据的,写入明显是存进的。那什么才是输入输出流呢?怎么来理解输入输出流?

本人通过不断的探索,对输入输出流有了一些理解。举个例子来说明吧。

当我们在乘车的时候,如果我们的车是静止的,但是有时候我们却觉得是在运动的,或者我们的车是开着的,别人的车也是开着的,但我们会觉得,别人的车是开着,而我们的车是静止的。为什么出现这样的情况呢?对,这就是选择的参考系不同。io流也是一样的道理。

所谓的输入输出流,是相对于内存而言的,也就是说,我们选的参考系应该是内存。这对于我们进一步理解流非常重要。好,我在进一步说明,如下

参考系:内存

输入流:文件是在硬盘中的,当使用输入流读取文件时,就是把文件中的数据读取到内存中,相对于内存来说,是把数据输入到内存中,所以叫输入流。

输出流:数据是在内存中的,当使用输出流写入数据时,就是把内存中的数据写到文件中,相对于内存来说,就是把数据从内存中输出,所以叫输出流。

 

现在你应该能理解什么是输入输出流了吧?

 

好了,理解了输入输出流,我们就开始分类了。

 

流可以分为:字节流和字符流

字节流-->字节输入流InputStream和字节输出流OutputStream

字符流-->字符输入流Reader和字符输出流Writer

 

字节流和字符流的区别:

字节流可以操作任何格式的文件,比如图片,声音等

字符流只能操作文本格式的文件

 

字符流:FileReader和FileWriter只能一个一个的读写数据。为了提高读取和写入的效率,引入了缓冲区,BufferedReader和BufferedWriter,可以对一行一行的数据进行读和写

 有时候我们在操作文件时,需要将字节流转化成字符流,这时就要用到了InputStreamReader和OutputStreamWriter,这两个家伙可以对字节字符之间进行转换。提高了工作效率。

 

以上是本人对几个主流的io流的一些潜在的理解,如有什么叙得不够的,请大家多多指教,谢谢!!!

------- android培训java培训、期待与您交流! ----------

  

 详情请查看:http://edu.csdn.net/heima

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值