【发布时间】:2012-04-15 02:29:30
【问题描述】:
我将为物理专业的学生进行 Java 讲座,我想知道如何正确打开文件。
在我的许多专业应用程序中,我都做过类似的事情:
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("file")));
try{
....
}finally {
bufferedWriter.close();
}
恕我直言,好的,即阅读器将始终关闭。
当我为我的学生举这个例子时,我想知道如果 InputStreamReader 的构造函数会抛出异常会发生什么 --- FileInputStream 将打开,但我的代码不会关闭它(因为这些对象在 try-finally 块之外创建。
这是正确的成语,如果是,为什么?如果打开流不是正确的习惯用法,请指出正确的习惯!
编辑:我正在寻找既正确又易于编写和理解的成语,物理专业的学生是编程的初学者。
编辑:愚蠢的我,我复制了错误的示例 --- 如果我使用 Writers 而不是 Readers,它会变得更加复杂。
【问题讨论】: