上一節中我們了解了OutputStream的相關知識,現在讓我們來一起使用其子類FileOutputStream來實作對檔案内容的寫入操作吧。
【本節目标】
通過閱讀本節内容,你将了解到FileOutputStream類對象的幾種構造方式,結合具體執行個體實作對檔案内容的寫入功能,并有意識的去關閉流對象節省系統資源。
使用FileOutputStream将資料寫入檔案

FileOutputStream類
因為最終都需要發生向上轉型的處理關系,是以對于此時的FileOutputStream子類核心的關注點就可以放在構造方法上了。
- 【覆寫】構造方法:public FileOutputStream(File file) throws FileNotFoundException;
- 【追加】構造方法:public FileOutputStream(File file, boolean append) throws FileNotFoundException
範例:使用FileOutputStream類實作内容輸出
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
File file = new File("D:"+ File.separator + "hello" + File.separator + "mldn.txt"); //1.指定要操作檔案的路徑
if(!file.getParentFile().exists()){ //檔案不存在
file.getParentFile().mkdirs(); //建立父目錄
}
OutputStream output=new FileOutputStream(file); //2.通過子類執行個體化
String str="www.mldn.cn"; //要輸出的檔案内容
output.write(str.getBytes()); // 3.将字元串變為位元組數組
output.close(); //4.關閉資源
}
}
本程式是采用了最為标準的形式實作了輸出的操作處理,并且在整體的處理之中,隻是建立了檔案的父目錄,但是并沒有建立檔案,而在執行後發現檔案可以自動幫助使用者建立。另外要注意的是,由于OutputStream的子類也屬于AutoCloseable的接口子類,是以對于close()方法也可以簡化使用。
範例:自動關閉處理
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
File file = new File("D:"+ File.separator + "hello" + File.separator + "mldn.txt"); //1.指定要操作檔案的路徑
if(!file.getParentFile().exists()){ //檔案不存在
file.getParentFile().mkdirs(); //建立父目錄
}
try(OutputStream output=new FileOutputStream(file,true)) { //2.通過子類執行個體化
String str="www.mldn.cn\r\n"; //要輸出的檔案内容
output.write(str.getBytes()); // 3.将字元串變為位元組數組
}catch(IOException e) {
e.printStackTrace();
}
}
}
是否使用自動關閉取決于項目的整體結構,另外還需要提醒的是,整個的程式裡面最終是輸出了一組的位元組資料,但是千萬不要忘記了,OutputStream類之中定義的輸出方法一共有三種。
想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。
本内容視訊來源于
阿裡雲大學 下一篇:有出有入:使用位元組輸入流 | 帶你學《Java語言進階特性》之五十四 更多Java面向對象程式設計文章檢視此處