Java重定向System.out和附加
在Java中,我重定向了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 目前,我正在覆盖文本文件 如何将此重定向的打印流附加到文本文件的末尾 编辑我如何也可
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