2016-12-22 101 views
0

使用Formatter寫入文件是否是一種很好的做法? 例如:可以用Formatter寫入文件嗎?

Formatter g = null; 
    try { 
     g = new Formatter("data.out"); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 

int x = 3; 
g.format("abc" + Integer.toString(x)); 
g.close(); 

我一直與格式化所有學期的寫作,找出共同的方式來寫在文件中的一個是PrintWriter的。我的家庭作業中的某些程序是否有可能不會寫出他們想寫的內容?謝謝!

回答

1

我不會說它本身有什麼「錯誤」。您只需爲輸出獲取c樣式的格式化選項,但由於Formatter不會擴展Writer,所以您確實會失去一些兼容性。

基於文檔,我不希望你的輸出對你的作業是錯誤的。如果你真的想確定,Formatter確實有一個接受Appandable對象的構造函數,PrintWriter憑藉擴展Writer,恰好實現了該接口。這意味着你可以構造一個格式器,使其使用PrintWriter來完成它的髒作業,而不是通常在內部用於輸出到文件的默認BufferedWriter。然而,這將是矯枉過正的,因爲Print和BufferedWriter與異常處理,暴露的方法和性能有內在的差異,因爲Formatter以相同的方式進行交互,所以打印輸出最終是相同的。

相關問題