程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 【Simple Java】FileOutputStream VS FileWriter,javafileoutputstream

【Simple Java】FileOutputStream VS FileWriter,javafileoutputstream

編輯:JAVA綜合教程

【Simple Java】FileOutputStream VS FileWriter,javafileoutputstream


當我們使用Java往文件寫入數據的時候,我們有兩種方式,使用FileOutputStream或FileWriter。

FileOutputStream:

File fout = new File(file_location_string);
FileOutputStream fos = new FileOutputStream(fout);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(fos));
out.write("something");

FileWriter:

FileWriter fstream = new FileWriter(file_location_string);
BufferedWriter out = new BufferedWriter(fstream);
out.write("something");

以上兩種方式都可以正常運行,但是它們究竟有何區別呢?

關於以上這兩個類,有太多需要討論,它們都很好的實現了常見操作系統的文件I/O理念。然而,我們並不關心它們是如何設計的,我們關注的是如何選擇,以及為什麼選擇它。

從Java的API規范中是這樣描述它們的:

FileOutputStream適用於寫入原始字節數據,如圖像。

FileWriter適用於字符流的寫入。

如果你熟悉設計模式的話,FileWriter是裝飾器模式的一個典型應用。我這有一個裝飾器模式的簡單教程,因為它非常有用,且被應用到很多設計中。

另外,FileOutputStream可以將文件轉成字節數組。

譯文鏈接:http://www.programcreek.com/2011/03/fileoutputstream-vs-filewriter/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved