Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么';这不是我的最后一个元素吗?_Java_Printwriter - Fatal编程技术网

Java 为什么';这不是我的最后一个元素吗?

Java 为什么';这不是我的最后一个元素吗?,java,printwriter,Java,Printwriter,我正在用java完成BST和Trie的最后一步,我遇到了这个问题。我无法将最后一个元素打印到文件中。这不是toString方法,因为我尝试过切换它们。我记得不久前,我的一位教授提到要关闭文件。类似于在close方法的圆括号内放一个int值,我将在下面对此进行阐述(不确定我的想法是否正确,只是我模糊地回忆起来) 下面是一段我遇到问题的代码 try{ output = new PrintWriter(inputFile); output.p

我正在用java完成BST和Trie的最后一步,我遇到了这个问题。我无法将最后一个元素打印到文件中。这不是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)之类的事情,但这会让我出错。有人能帮我吗?多谢各位

试试看

output.flush()
在关闭输出之前

或尝试

  output = new PrintWriter(inputFile,true);
你在吞咽这里的理由。不要那样做

至少把原因打印出来

catch(IOException e) {
  e.printStackTrace(System.err);
}

理想情况下,您会在最后放置一个
{if(output!=null){output.flush();output.close();}
就在最后一个catch块的右大括号之后。这将确保您释放文件。也就是说,您需要提供更多关于您的最后一个元素未打印的信息。正如npinti所说,您需要更多详细信息,是的,最后是结束事情的方法。对不起,伙计们,如果我没有告诉我我的声明co没错。我说的最后一个元素是指我调用的最后一个printLn会打印到屏幕上,但不会打印到我的文件中,以防我把你们搞混了。你是说:
System.out.printLn(“再见”);
?嗯什么。你说的是System.out.printLn()打印到屏幕而不是文件?为什么希望它打印到文件?System.out通常是屏幕。如果要打印到文件,应该打印到output.println()。谢谢,我现在就试试。Close应该调用flush-这不会有问题。或者尝试output=new PrintWriter(inputFile,true);output=new PrintWriter(new FileWriter(inputFile));你确定trie.myToString()会返回一个值吗。Print位于该方法的顶部,可以看到你得到一些东西。我还没有完成它。我打算在提交它之前包括所有这些。谢谢你,尽管我非常感谢。
catch(IOException e) {
  e.printStackTrace(System.err);
}