2015-09-09 29 views
2

如何使用打印流將Java程序的打印語句的內容複製到文本文件?有沒有辦法將Java程序中的打印語句重定向到所需的文本文件?

+1

您從程序中的意思,或當你運行它,請參閱本答案嗎? – RealSkeptic

+0

@RealSkeptic:不清楚你的問題 –

+0

當你運行程序時(例如在Linux/Mac,java MyProgram> file.txt中),你可以重定向寫入默認'System.out'的程序,或者你可以在程序本身內改變'System.out'。那麼你想要哪些選項? – RealSkeptic

回答

4

我使用下面的代碼從現在開始做這件事。它工作正常。可能有更好的方法。

PrintStream ps = new PrintStream("\file.txt"); 
PrintStream orig = System.out; 
System.setOut(ps); 
//TODO: stuff with System.out.println("some output"); 
System.setOut(orig); 
ps.close(); 
+0

呃......這比我的回答更有意義,我想我誤解了這個問題.... +1並刪除了我的答案! –

+0

[http://stackoverflow.com/questions/14552342/redirect-lots-of-system-out-printlns-to-a-txt-file]這裏是原始答案。致信@ iainmackay85。它幫助了我很多! – PuRaK

+0

將其添加到您的答案,以便任何人都可以標記你的抄襲;) –

1

更好的澄清redirect to file

public static void main(String[] args) { 
    try { 
     System.setOut(new PrintStream(new File("d:/output.txt"))); 
     System.out.println("StackOverflow"); 
    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

} 
+0

你的答案的工作,多謝 –

+0

@ SANTHOSHB.E如果它的工作,那麼你可以接受的答案:) –

+0

是的,但由PuRak的答案也工作正常,是否有可能接受這兩個答案 –

相關問題