Java重定向System.out和附加

Java重定向System.out和附加,java,file-io,io-redirection,Java,File Io,Io Redirection,在Java中,我重定向了System.out:System.setOut(“someText.txt”)写入文本文件。我希望每小时运行一次这个程序,并希望将每组打印语句附加到文件的末尾。例如,假设在第1小时,我的程序运行,打印“Hello\n”,然后退出。然后在第2小时,我的程序运行,打印“hello reach\n”,然后退出 如果发生这种情况,我希望文本文件的内容如下: Hello Hello again 目前,我正在覆盖文本文件 如何将此重定向的打印流附加到文本文件的末尾 编辑我如何也可

在Java中,我重定向了
System.out
System.setOut(“someText.txt”)写入文本文件。我希望每小时运行一次这个程序,并希望将每组打印语句附加到文件的末尾。例如,假设在第1小时,我的程序运行,打印“Hello\n”,然后退出。然后在第2小时,我的程序运行,打印“hello reach\n”,然后退出

如果发生这种情况,我希望文本文件的内容如下:

Hello
Hello again
目前,我正在覆盖文本文件

  • 如何将此重定向的打印流附加到文本文件的末尾

  • 编辑我如何也可以打印到控制台?

    构建文件输出流时,请使用以下命令:

    FileOutputStream(文件,布尔追加)

    创建文件输出流以写入指定文件对象表示的文件

    代码示例:

    OutputStream outStream = new FileOutputStream("file1.txt",true);
    
    使用


    @Frank和@Petr Mensik的回答是正确的。但万一你想尝试不同的东西:


    System.out.append(“Hello World\n”)
    应该可以做到这一点。因此,与执行
    System.out.print
    不同,您执行的是
    System.out.append
    最简单的答案不是使用Java代码,而是使用;试图在Java中重新实现
    tee
    ,只不过是重新发明了一个方轮。只要这样做:

    java -jar yourapp.jar | tee -a output.log
    
    在窗户上?安装MinGW和/或Cygwin.:-)

    可能重复的
    java -jar yourapp.jar | tee -a output.log