在类A中,我的程序逐行接收命令行,然后根据指令创建类B的实例,在执行实例B中每条指令的程序中,
为了执行输出命令,执行了以下方法。
bw
被宣布为B类成员。
@Override
public void command (DB db) throws Exception {
...
bw = new BufferedWriter(new OutputStreamWriter(System.out));
for (Item item : db) {
bw.write("("+item.getTitle()+")");
bw.newLine();
}
bw.flush();
}
实际上,这没有引起任何问题,
因为我认为程序应该关闭BufferedWriter
,所以我用上述方法将其关闭,
下次方法再次调用时,存在一个问题,即使BufferedWriter
不是一种静态变量,也不再出现输出。
在这种情况下,我不能关闭它吗?
“使BufferedWriter
静态并在程序退出时关闭BufferedWriter
”是解决方案?