我在Java类中创建了以下读者,编写者等:
// reader
FileReader reader = new FileReader(filetoread);
BufferedReader r = new BufferedReader(reader);
// writer
FileWriter writer = new FileWriter(filetowrite);
PrintWriter writerpw = new PrintWriter(writer);
StreamTokenizer st = new StreamTokenizer(r);
关于关闭它们我有一些问题:
1,在阅读的情况下我该如何关闭?
reader.close();
r.close();
我应该关闭两者吗?或者关闭一个会关闭另一个吗?
2,在作家的情况下我该如何关闭?
writer.close();
writerpw.close();
我应该关闭两者吗?或者关闭一个会关闭另一个吗?
答案 0 :(得分:2)
关闭最外面的一个就足够了,因为它也会关闭它所包含的那个(内部String
调用close
的{{1}}方法,其中BufferedReader
是它包装的读者。)
同时,在in.close()
语句中创建阅读器时,您不需要明确关闭其中任何一个阅读器,因为这将自动为您完成:
in