文件没有打印出来,我做错了什么?

时间:2016-04-24 15:15:55

标签: java io

我一直在尝试将此代码的输出打印在.txt文件上,但是我将一个空文件作为输出,但是我在控制台中看到了正确的结果,所以问题在于StreamWriter我想。

那么我做错了什么?

.

3 个答案:

答案 0 :(得分:0)

刷新并关闭流。可能是在将数据刷新到磁盘之前程序结束的情况。请注意,较高级别的流维护缓冲区,因此不能直接写入磁盘。

答案 1 :(得分:0)

我没有看到你在文件中写任何东西。我只是看到你如何创建一个文件的PrintStream并将其分配给System.out,但是你不打印任何东西。在您退出后调用generateHierarchy()

答案 2 :(得分:-1)

您尝试通过重定向System.out来编写文件,但只有在将数据写入System.out后才重定向。

你应该做的事情如下:

void printHierarchy(PrintStream ps) {
    ...
    ps.println(...)
}

并在main()中:

try (PrintStream ps = new PrintStream(new FileOutputStream("output.txt"))) {
    printHierarchy(ps);
}