栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何将控制台输出写入txt文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何将控制台输出写入txt文件

你需要执行以下操作:

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子系统之类的日志记录子系统。它们通过运行时配置文件提供细粒度的日志记录控制,支持滚动日志文件,系统日志的提要,等等。

或者,如果你不是“记录”,请考虑以下事项:

  • 对于典型的Shell,你可以将标准输出(或标准错误)重定向到命令行上的文件。例如
$ java MyApp > output.txt   

有关更多信息,请参考Shell教程或手册。

  • 你可以更改应用程序以使用out作为方法参数或通过单例或依赖项注入传递的流,而不是写入
    System.out

更改

System.out
可能会导致JVM中其他未预期到的代码令人讨厌。(设计正确的Java库将避免依赖
System.out
System.err
,但是你可能很不幸。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/404823.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号