两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

前幾節(jié)我們學習了文件字節(jié)輸入流,那么既然有文件字節(jié)輸入流,自然也有相對應(yīng)的文件字節(jié)輸出流,這一節(jié)我們就來學習文件字節(jié)輸出流。


使用輸出流通常包括4個基本步驟:

(1) 給出輸出流的目的地

(2) 創(chuàng)建指向目的地的輸出流

(3) 讓輸出流把數(shù)據(jù)寫入到目的地

(4) 關(guān)閉輸出流


本節(jié)通過學習文件字節(jié)輸出流熟悉上述4個基本步驟。


如果對文件寫入需求比較簡單,那么可以使用FileOutputStream類(文件字節(jié)輸出流),它是OutputStream類的子類(以字節(jié)為單位向文件寫入內(nèi)容),該類的實例方法都是從OutputStream類繼承來的。


我們可以使用FileOutputStream類的下列具有刷新功能的構(gòu)造方法創(chuàng)建指向文件的輸出流。

FileOutputStream(String name);
FileOutputStream(File file);



第一個構(gòu)造方法使用給定的文件名name創(chuàng)建FileOutputStream流;第二個構(gòu)造方法使用File對象創(chuàng)建FileOutputStream流。參數(shù)name和file指定的文件稱為輸出流的目的地。


FileOutputStream輸出流開通一個到達文件的通道(目的地就是這個文件,輸出流指向這個文件)。


注意:如果輸出流指向的文件不存在,Java就會創(chuàng)建該文件,如果指向的文件是已存在的文件,輸出流將刷新該文件(使得文件的長度為0)。


除此之外,與創(chuàng)建輸入流相同的是,創(chuàng)建輸出流時,可能會出現(xiàn)錯誤(被稱為異常),例如,輸出流試圖要寫入的文件可能不允許操作或有其他受限等原因。所以必須在try-catch語句中的try塊部分創(chuàng)建輸出流,在catch塊部分檢測并處理這個異常。


例如,創(chuàng)建指向名為destin.txt的輸出流out:

try {
    FileOutputStream out = new FileoutputStream("destin.txt"); //創(chuàng)建指向文件destin.txt的輸出流
}
catch(IOException e) {
    System.out.println("File write error:"+e);
}

File f = new File("destin.txt"); //指定輸出流的目的地
try {
    FileOutputStream out = new FileOutputStream(f); //創(chuàng)建指向目的地的輸出流
}
catch(IOException e) {
    System.out.println("Filewrite:"+e);
}


我們可以使用FileOutputStream類的下列能選擇是否具有刷新功能的構(gòu)造方法創(chuàng)建指向文件的輸出流。

FileOutputStream(String name,boolean append);
FileOutputStream(File file,boolean append);


當用構(gòu)造方法創(chuàng)建指向一個文件的輸出流時,如果參數(shù)append取值true,輸出流不會刷新所指向的文件(假如文件已存在),輸出流的write的方法將從文件的末尾開始向文件寫入數(shù)據(jù),參數(shù)append取值false,輸出流將刷新所指向的文件(假如文件已經(jīng)存在)。


點贊(0)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習題和答疑,點擊了解:

一點編程也不會寫的:零基礎(chǔ)C語言學練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學奧賽或C++選手的 必學C++課程

藍橋杯ACM、信息學奧賽的必學課程:算法競賽課入門課程

手把手講解近五年真題的藍橋杯輔導課程

Dotcpp在線編譯      (登錄可減少運行等待時間)