[英]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.