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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xpsyztd 中级黑马   /  2014-9-6 23:32  /  587 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java I/O流类库的确能满足基本需求,可以通过控制台、文件、内存块甚至互联网进行读写。通过集成,可以穿件新类型的input和output对象。并且通过重新定义toString()方法,甚至可以为流接受的对象类型进行简单扩充。当向期望收到一个字符串的方法传送一个对象时,会自动调用toString()方法。

在I/O流类库的文档和设计中,仍留有一些没有解决的问题。例如当打开一个文件以便输出时,可以指定一旦试图覆盖该文件就抛出一个异常——有的编程系统允许自行指定想要打开的输出文件,只要他尚不存在。在java中应该使用一个File对象来判断某个文件是否存在,因为如果文件已FileOutputStream或者FileWriter打开,那么它肯定会被覆盖。I/O流类库使用喜忧参半:他却是能做到许多事情,而且具有可移植性;但是如果没有理解修饰器模式,那么这种设计就不是很直观,因此在学习他的过程中,需要额外的开销;而且他并不完善,例如没有任何对输出格式化种类的支持,而事实上塔器所有语言的I/O包都提供这种支持,然而一旦理解了修饰器模式,并开始在某些情况下使用该类库以利用其能够提提供的灵活性,那么就能从这个设计中受益。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马