为什么我的最后一个元素不打印?
我在完成我的BST和Trie在java中的最后一个步骤,我遇到了这个问题。我无法将最后一个元素打印到文件中。这不是toString方法,因为我尝试过切换它们。我记得有一段时间,我的一位教授提到了关于关闭文件的一些内容。一些沿着close方法括号内的int值的行,我会在下面展开(不知道我是否正确思考,只是我依稀记得) 下面是代码片段,有麻烦的。为什么我的最后一个元素不打印?
try{
output = new PrintWriter(inputFile);
output.println("BST:");
output.println(tree.toString());
output.println("Trie:");
output.println(trie.myToString());
output.close();
}
catch(IOException e){}
System.out.println("Goodbye");
所以如果我记得正确的话,老师说要做一些类似output.close(0)之类的事情,但它是在给我拍摄错误。谁能帮我这个?谢谢。
catch(IOException e){}
你在这里吞咽的原因。不要这样做。
至少打印与
catch(IOException e) {
e.printStackTrace(System.err);
}
我还没有完成它。我打算在将其纳入之前包含所有内容。 谢谢,尽管我非常感谢。 – Ceelos
如果你现在有问题,你现在应该包括它,对吧? – eis
请阅读此:[隐藏错误](http://en.wikipedia.org/wiki/Error_hiding) – wulfgarpro
理想的原因,你会放一个'终于{{IF output.flush()(输出!= NULL); output.close();}'权后收盘你最后一个catch块的大括号。这将确保您释放该文件。这就是说,你需要提供更多关于你的最后一个元素不是正在打印的信息。 – npinti
由于npinti说你需要更多的细节,最后是结束事情的方式。 – Tom
对不起,如果我没有正确地说出我的陈述, 最后一个元素我的意思是我的意思是我打电话的最后一个printLn会打印到屏幕上,但不会打印到我的文件中,以防我将这些打乱了。 – Ceelos