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

System.out到Java中的文件

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

System.out到Java中的文件

你可以使用Windows命令行* nix shells支持的输出流重定向器,例如

java -jar myjar.jar > output.txt

另外,当你从vm内部运行应用程序时,可以

System.out
从java本身内部进行重定向。你可以使用方法

System.setOut(PrintStream ps)

它将替换标准输出流,因此所有对System.out的后续调用都将转到你指定的流。你可以在运行打包的应用程序之前执行此操作,例如调用

System.setOut(new PrintStream(new BufferedOutputStream(new FileOutputStream("output.txt"))));

如果使用无法修改的包装器,则创建自己的包装器。因此,你具有FEST包装器->流重定向器包装器->经过测试的应用程序。

例如,你可以实现一个简单的包装器,如下所示:

public class OutputRedirector{      public static void main(String[] args) throws Exception   {  // error checking omitted for brevity      System.setOut(outputFile(args(1));      System.setErr(outputFile(args(2));      Class app = Class.forName(args[0]);      Method main = app.getDeclaredMethod("main", new Class[] { (new String[1]).getClass()});      String[] appArgs = new String[args.length-3];      System.arraycopy(args, 3, appArgs, 0, appArgs.length);      main.invoke(null, appArgs);   }   protected PrintStream outputFile(String name) {       return new PrintStream(new BufferedOutputStream(new FileOutputStream(name)), true);   }}

你使用3个附加参数调用它-要运行的Main类,然后输出/错误指示。



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

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

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