小草封山
学无止境
posts - 3,  comments - 4,  trackbacks - 0

 

JAVA的I/O里面一大堆的类,刚开始学的时候,真是狂晕。

认真读完Core java之后,才发现这一套机制其实还简单的,只要抓住2条脉络:byte和Char,Decrator模式

byte和Char的区别,说起来很简单,一个是8位,一个是16位。为什么在java中要严格区分呢?因为java是unicode的,也就是16位的,而很多系统通用的是ASCII(8bit)。正因为这种差异,在I/O机制中,用stream处理8位,Reader处理16位。在从输入输出角度来考虑,于是就有了InputStream/OutputStream和InputReader/OutputReader。

然而,这些原始流提供的功能太少了,效率也太低了。例如,一次只能读多个字符而不能读一行。为了提高效率,需要对他们进行一层包装,提供缓冲等功能。这个时候就应用包装器(Decrator)模式,设计了buffer... LineNumber...Data...等

 

当然,操作文件的时候,可以简单的用FileReader,FileWriter打开文件,具体操作的时候PrintWriter就可以负责文件写了,而读文件一般需缓冲, 于是用BufferReader就行了

posted on 2007-09-14 18:25 硬盘草 阅读(239) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 

<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜