2015-11-23 180 views
0

我在Mac OS X 10.10.5中使用Eclipse Kepler與Java編譯器v6.0存在問題,以支持Java PrintWriter命令的autoFlush選項。如果我提供一個布爾值來啓用「autoFlush」,那麼Eclipse會根據Java Docs for Java 6.0聲稱這是一個非法參數。然而,當我在Eclipse下驗證我的編譯器設置時,它確實說出了Compiler Complaince Level的Java 1.6.0。那麼,爲什麼Eclipse或編譯器無法識別「autoFlush?」的布爾參數?如何在MacOS X 10.10.5下使用PrintWriter和Java 6來禁用緩衝?

下面是代碼:

DrawingPanel.logFile = new PrintWriter("LogFile.txt", true); <-- Eclipse does not like the "true" argument. 

可能是什麼回事?

回答

2

PrintWriter有8個構造函數:

PrintWriter(File file) 
PrintWriter(File file, String csn) 
PrintWriter(OutputStream out) 
PrintWriter(OutputStream out, boolean autoFlush) 
PrintWriter(String fileName) 
PrintWriter(String fileName, String csn) 
PrintWriter(Writer out) 
PrintWriter(Writer out, boolean autoFlush) 

只有OutputStreamWriter版本有一個autoFlush秒說法。編譯器正確地抱怨你的第二個參數不是String

你應該使用:

DrawingPanel.logFile = new PrintWriter(new FileWriter("LogFile.txt"), true) 
+0

謝謝!我會嘗試的! – user1104028

相關問題