[英]redirect output to text file after user input
我创建了一个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
输出结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.