public static void main(String[] a) throws IOException {
FileReader f = new FileReader(a[0]);
System.out.println(f.ready()); // true
doSomethingWithReader(f);
System.out.println(f.ready()); // false
}
private static String doSomethingWithReader(FileReader reader) {
BufferedReader br = null;
try {
br = new BufferedReader(reader);
...
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return line;
}
的FileReader不会关闭任何地方将按照下列顺序,但什么关呢?
当它关闭的关闭方法的行为的包裹的BufferedReader将关闭它传播了包装的树。 – 2012-03-02 23:08:00
BufferedReader关闭它。有趣的是,对于'close而言,[javadoc](http://docs.oracle.com/javase/6/docs/api/java/io/Reader.html#close%28%29)并不完全清楚这一点。 ()',其中说“释放任何系统资源”,但没有详细说明... – DNA 2012-03-02 23:08:08
@DNA正确:)我看着'BufferedReader' javadoc,但直到我开始调试后才能建立连接。 – JAM 2012-03-02 23:12:45