簡體   English   中英

用戶輸入后將輸出重定向到文本文件

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM