2011-03-24 83 views

回答

2

重定向它像這樣在你的終端。

java ClassName > your-file 

or 

java ClassName 1> your-file 

這裏
1表示標準輸出。
2代表標準錯誤。
0代表標準輸入。

使用>>爲追加模式,'<'爲輸入模式。

如果你需要錯誤和輸出流重定向到同一個文件, 嘗試

java ClassName 2>&1 your-file 

或者在代碼中使用了Java的below API調用。

System.setErr(PrintStream err); 

System.setIn(InputStream in); 

System.setOut(PrintStream out); 
0

使用日誌記錄而不是system.out。檢查log4j或其他日誌apis。這也將幫助您在使用打印信息,僅調試,只有錯誤等

此外,如果你想設置系統出來,你可以做到這一點通過命令文件>>文件

1

試試這個

public class RedirectIO 
{ 



public static void main(String[] args) 
{ 
    PrintStream orgStream = null; 
    PrintStream fileStream = null; 
    try 
    { 
     // Saving the orginal stream 
     orgStream = System.out; 
     fileStream = new PrintStream(new FileOutputStream("out.txt",true)); 
     // Redirecting console output to file 
     System.setOut(fileStream); 
     // Redirecting runtime exceptions to file 
     System.setErr(fileStream); 
     throw new Exception("Test Exception"); 

    } 
    catch (FileNotFoundException fnfEx) 
    { 
     System.out.println("Error in IO Redirection"); 
     fnfEx.printStackTrace(); 
    } 
    catch (Exception ex) 
    { 
     //Gets printed in the file 
     System.out.println("Redirecting output & exceptions to file"); 
     ex.printStackTrace(); 
    } 
    finally 
    { 
     //Restoring back to console 
     System.setOut(orgStream); 
     //Gets printed in the console 
     System.out.println("Redirecting file output back to console"); 

    } 

} 

}

希望它能幫助。

相關問題