2016-09-18 55 views
2

我正在尋找一種方式來獲得System.out.println文本,並將它們保存在一個.txt文件,例如:的System.out.println到文本文件

System.out.println("Java vendor: " + System.getProperty("java.vendor")); 
    System.out.println("Operating System architecture: " + System.getProperty("os.arch")); 
    System.out.println("Java version: " + System.getProperty("java.version")); 
    System.out.println("Operating System: " + System.getProperty("os.name")); 
    System.out.println("Operating System Version: " + System.getProperty("os.version")); 
    System.out.println("Java Directory: " + System.getProperty("java.home")); 

我想.TXT文件輸出, 有任何想法嗎?謝謝

+0

重複http://stackoverflow.com/questions/1053467/how-do-i-save-a-string-to-a-text-file-using-java – GreyGoose

+0

http://www.avajava.com/tutorials/lessons/how-do-i-redirect-standard-output-to-a-file.html –

+0

@GreyGoose否,因爲OP似乎需要將System.out輸出重定向到一個文件 –

回答

3

你可以做,

PrintStream fileStream = new PrintStream("filename.txt"); 
System.setOut(fileStream); 

那麼任何println語句,將進入該文件。

+0

我同意。或者他可以使用特定於平臺的解決方案,例如將輸出重定向到bash中的文件:java -jar program.jar> output 2> error-output –

+0

傾向於關閉明顯的重複問題,而不是農業信譽。 – Tom

1

首先,你需要聲明一個String text包含您的消息,你想輸出:

String text = "Java vendor: " + System.getProperty("java.vendor"); 

然後你可以使用try-with-resources聲明(因爲JDK 7)它會自動關閉PrintWriter,當所有的輸出完成:

try(PrintWriter out = new PrintWriter("texts.txt") ){ 
    out.println(text); 
}