2014-01-31 211 views
0

例如,在代碼中,我有:System.out.println("Hello World");Java:如何將控制檯輸出保存到文本文件?

控制檯會打印:Hello World

所以,我想控制檯輸出保存到一個文本文件中。任何人都可以通過這個暗示我嗎?

+0

您是否用''寫入java'文件? –

+3

http://stackoverflow.com/questions/1994255/how-to-write-console-output-to-a-txt-file 可能的重複。 – tilaprimera

+0

您可以直接寫入文件,也可以使用操作系統命令將程序輸出重定向到文件(請參閱linux中的重定向) –

回答

2

系統類爲您提供一種方式,不同的流是System#setOut(PrintStream out)

轉儲輸出使用這種方法,你可以通過你的FileInputStream到System.setOut,你可以保存控制檯輸出。

PrintStream printStream = new PrintStream(new FileOutputStream(file)); 
System.setOut(printStream); 
這個問題的

一個有趣的部分是,雖然out被聲明爲final在系統級,但仍然您System#setOut重新分配這一點。

+0

在文件中找不到任何內容。仍然有npEx。 –

+0

請分享'例外stacktrace' –

6

創建一個文件,並設置爲超出System類。

File file = new File("out.txt"); //Your file 
FileOutputStream fos = new FileOutputStream(file); 
PrintStream ps = new PrintStream(fos); 
System.setOut(ps); 
System.out.println("This goes to out.txt"); 
+1

這是不是每次你想寫入文件時都重寫這個條目? –

+1

不錯,容易,並會幫助 – Pythoner

+0

這似乎並不奏效,輸出文件非常空......評論? – Scarl

相關問題