本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

用户输入后将输出重定向到文本文件

发布于2025-01-18 21:43     阅读(291)     评论(0)     点赞(19)     收藏(1)


我创建了一个 JNDI Java 程序,它可以根据用户的指定提供不同类型的输出。例如,用户可以使用不同的参数运行该程序:

java MyProg -o row -u username -l uId1,uId2,....

这里用户可以指定以下选项:-o:输出格式(行基础/列基础)-u:使用不同的用户连接到服务器(然后程序将要求输入密码)-l:程序将显示给定用户 ID 的输出

现在,我已经为每个选项定义了一个默认值(配置),因此如果用户想要更改配置,则由用户指定该选项。因此,用户可以按如下方式调用该程序:

java MyProg
java Myprog -o col
java MyProg -u username 
java MyProg -l uId1,uId2,...
java MyProg -l uId1,uId2,... -o col

等等..

因此每当用户使用 -u(更改用户名)时,程序就会询问密码,然后显示结果。

现在我想提供一种功能,使用户可以将控制台输出重定向到文本文件,但是当我尝试“java MyProg > filename.txt”时,它不起作用。

请告诉我如何将输出重定向到文件。


解决方案


System.out是一个PrintStream(这就是为什么您可以println()在其上使用诸如等方法)。

您可以做的是,如果您看到重定向到文件的选项,只需PrintStream为目标文件创建一个新文件:

PrintStream stdout = System.out;

// outfile is a String
if (outfile != null)
    stdout = new PrintStream(outfile);

并使用stdout而不是System.out来输出结果。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/695225/3ba8ef3dfe9f868cb01c/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

19 0
收藏该文
已收藏

评论内容:(最多支持255个字符)