您的位置:首页 > 其它

更改“流”的行为

2013-08-26 11:06 148 查看
对于输入流和输出流来说,为了满足特殊需要,我们会使用 FilterInputStream


FilterOutputStream 的修饰器子类来修改“流”。Reader  和 Writer 的类继承层次结构继

续沿用相同的思想——但是并不完全相同。

在下表中,相对于前一表格来说,左右之间的对应关系的近似程度更加粗略一些。造成这种

差别的原因是因为类的组织形式不同;尽管 BufferedOutputStream 是

FilterOutputStream 的子类,但是 BufferedWriter 并不是 FilterWriter 的子类(尽管

FilterWriter 是抽象类而且没有任何子类。因此把它放在那里,也只是把它作为一个占位符
或仅仅让我们不会疑惑它在哪里)。然而,这些类的接口却十分相似。

有一点很清楚:无论我们何时使用 readLine(),都不应该使用 DataInputStream(这会

遭到编译器的强烈反对),而应该使用 BufferedReader。除了这一点,DataInputStream

仍是 I/O 类库的首选成员。

为了更容易地过渡到使用 PrintWriter,它提供了一个既能接受 Writer 对象又能接受任何

OutputStream 对象的构造器。然而,PrintWriter 对格式化的支持程度并不比

PrintStream 强;二者的接口几乎是一样的。

PrintWriter 构造器还有一个选项,就是自动执行清空,如果构造器设置选择此项,则在每

个 Println()执行之后,便会自动清空。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: