java应该向BufferedReaders传递一个动态文件读取器吗?
如问题所述,传递动态FileReader
是一种糟糕的做法吗?这个FileReader
是否应该/能够充分关闭
BufferedReader buffReader = new BufferedReader(
new FileReader(new File("C:/Path/To/File.txt")));
.... do something
buffReader.close();
FileReader
也应该关闭吗?这样做是否需要分居
也许是一个简单的问题,但我不太精通JavaIO;如果是的话,我道歉。提前谢谢
# 1 楼答案
不,没有必要
buffReader.close()
也将关闭文件读取器出于某种原因,Javadoc中似乎没有提到这一点。但是,如果查看
BufferedReader
的源代码,您会发现close
的定义如下:其中
in
是被包装的Reader
(在本例中为FileReader
)。因此,关闭BufferedReader
也会关闭FileReader
这是我所知道的所有“包装器”的情况,包括像这样的东西