Java I/O的总结

Java I/O 流类库的确能满足我们的基本需求:我们可以通过控制台、文件、内存块甚至因

特网进行读写。通过继承,我们可以创建新类型的 input 和 output 对象。并且通过重新定

义 toString()方法,我们甚至可以为流接受的对象类型进行简单扩充。当我们向期望收

到一个字符串的方法传送一个对象时,会自动调用 toString()方法。(这是 Java 有限的

自动类型转换功能。)

 

在 I/O 流类库的文档和设计中,仍留有一些没有解决的问题。例如,当我们打开一个文件

以便输出时,我们可以指定一旦试图覆盖该文件就抛出一个异常——有的编程系统允许我们

自行指定想要打开的输出文件,只要它尚不存在。在 Java 中,我们似乎应该使用一个 File

对象来判断某个文件是否存在,因为如果我们以 FileOutputStream 或者 FileWriter 打开,

那么它肯定会被覆盖。

 

I/O 流类库使我们喜忧参半。它确实能做许多事情,而且具有可移植性。但是如果我们没有

理解修饰器模式,那么这种设计就不是很直觉,因此,在学习和传授它的过程中,需要额外

的开销。而且它并不完善;例如我应该可以不必去写像 TextFile 这样的应用,并且它没有

任何对输出格式化的种类的支持,而事实上其他所有语言的 I/O 包都提供这种支持。

 

然而,一旦我们理解了修饰器模式,并开始在某些情况下使用该类库以利用其能够提供的灵

活性,那么你就开始从这个设计中受益了。到那个时候,为此额外多写几行代码的开销应该

不至于使人觉得太麻烦。

 

如果你在本章没有发现想要找寻的东西(这里仅仅是一个初步介绍,其涵盖面并不全面),

可以在《Java I/O》中找到更深入的论述, Elliotte Rusty Harold  著(O’Reilly, 1999)。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值