我已尝试使用此代码建议(http://www.daniweb.com/forums/thread23883.html#)将控制台输出写入txt文件,但未成功。怎么了?
try {
//create a buffered reader that connects to the console, we use it so we can read lines
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
//read a line from the console
String lineFromInput = in.readLine();
//create an print writer for writing to a file
PrintWriter out = new PrintWriter(new FileWriter("output.txt"));
//output to the file a line
out.println(lineFromInput);
//close the file (VERY IMPORTANT!)
out.close();
}
catch(IOException e1) {
System.out.println("Error during reading/writing");
}
你需要执行以下操作:
PrintStream out = new PrintStream(new FileOutputStream("output.txt"));
System.setOut(out);
第二句话是关键。它将假定的“最终” System.out
属性的值更改为提供的PrintStream
值。
可以使用类似的方法(setIn
和setErr
)来更改标准输入和错误流。java.lang.System
有关详细信息,请参考javadocs
。
上面的一个更通用的版本是这样的:
PrintStream out = new PrintStream(
new FileOutputStream("output.txt", append), autoFlush);
System.setOut(out);
如果append
为is true
,则流将追加到现有文件,而不是将其截断。如果autoflush
为is true
,则每当写入字节数组,println
调用其中一种方法或写入a时,将刷新输出缓冲区\n
。
我想补充一下,通常最好使用Log4j,Logback或标准Java java.util.logging子系统之类的日志记录子系统。它们通过运行时配置文件提供细粒度的日志记录控制,支持滚动日志文件,系统日志的提要,等等。
或者,如果你不是“记录”,请考虑以下事项:
$ java MyApp > output.txt
有关更多信息,请参考Shell教程或手册。
System.out
。更改System.out
可能会导致JVM中其他未预期到的代码令人讨厌。(设计正确的Java库将避免依赖System.out
和System.err
,但是你可能很不幸。)
问题语句:我有一个在Xcode中运行的程序,它有一堆print()语句,可以很好地将输出打印到调试控制台。然而,我希望也能够将这些输出重定向到一个文件,这样我就可以让用户将它们发送给我,作为调试的一种方式。 SO上找到的解决方案使我可以将输出重定向到文件,但调试控制台输出将丢失。 问:我想要我的蛋糕和吃它。我希望能够将print()语句重定向到调试控制台和文件。 所以我有引用:https://st
问题内容: 我已经在该站点附近搜索了答案,但找不到任何答案。 我有一个表格,我想将输入内容写入txt文件。为了简单起见,我只写了一个简单的表单和脚本,但是它一直让我空白。这就是我得到的 这是我的PHP文件 问题答案: 您的表格应如下所示: 和PHP 我写信是因为这样我才知道确切的位置。使用写入当前工作目录中的文件,在您的示例中我一无所知。 为您打开,写入和关闭文件。不要惹它。 进一步阅读: fil
问题内容: 我正在尝试在python中找到一种将脚本执行日志重定向到文件以及以pythonic方式的方法。有没有简单的方法可以做到这一点? 问题答案: 我想出了这个[unested] 在python中将期望有一个函数。您可以使用具有此功能的自定义对象。否则,您也可以让sys.stdout引用您的对象,在这种情况下,即使没有,它也会被准备。
问题内容: 我是python的新手,正在编写一些脚本来自动从FTP服务器等下载文件。我想显示下载进度,但是我希望它保持不变,例如: 输出: 正在下载文件FooFile.txt [47%] 我正在尝试避免这样的事情: 我应该怎么做呢? 复制 : 如何在命令行应用程序的当前行上打印? 问题答案: 您还可以使用回车符:
我已经尝试用下面的代码将应用程序的输出保存到txt文件中。它可以将输出写入txt文件,但输出没有显示在控制台显示中。如何处理显示在控制台和保存到文件的输出? 代码运行后控制台显示和txt文件
所以我有一个Laravel控制器: 目前,我正在使用artisan(在引擎盖下运行PHP的内置开发Web服务器)运行应用程序: 我想将控制台消息记录到artisan进程的管道中。