鴻蒙OS FileOutputStream

2022-10-19 16:35 更新

FileOutputStream

java.lang.Object

|---java.io.OutputStream

|---|---java.io.FileOutputStream

public class FileOutputStream
extends OutputStream

文件輸出流是用于將數(shù)據(jù)寫入 File 或 FileDescriptor 的輸出流。 文件是否可用或是否可以創(chuàng)建取決于底層平臺。 特別是某些平臺,一次只允許一個 FileOutputStream(或其他文件寫入對象)打開一個文件進行寫入。 在這種情況下,如果所涉及的文件已經打開,則此類中的構造函數(shù)將失敗。

FileOutputStream 用于寫入原始字節(jié)流,例如圖像數(shù)據(jù)。 要寫入字符流,請考慮使用 FileWriter。

Since:

JDK1.0

構造函數(shù)摘要

構造函數(shù) 描述
FileOutputStream(File file) 創(chuàng)建一個文件輸出流以寫入由指定 File 對象表示的文件。
FileOutputStream(FileDescriptor fdObj) 創(chuàng)建一個文件輸出流以寫入指定的文件描述符,它表示與文件系統(tǒng)中實際文件的現(xiàn)有連接。
FileOutputStream(File file, boolean append) 創(chuàng)建一個文件輸出流以寫入由指定 File 對象表示的文件。
FileOutputStream(String name) 創(chuàng)建文件輸出流以寫入具有指定名稱的文件。
FileOutputStream(String name, boolean append) 創(chuàng)建文件輸出流以寫入具有指定名稱的文件。

方法總結

修飾符和類型 方法 描述
void close() 關閉此文件輸出流并釋放與此流關聯(lián)的所有系統(tǒng)資源。
protected void finalize() 清理與文件的連接,并確保在不再引用此流時調用此文件輸出流的 close 方法。
FileChannel getChannel() 返回與此文件輸出流關聯(lián)的唯一 FileChannel 對象。
FileDescriptor getFD() 返回與此流關聯(lián)的文件描述符。
void write(byte[] b) 將指定字節(jié)數(shù)組中的 b.length 個字節(jié)寫入此文件輸出流。
void write(byte[] b, int off, int len) 從偏移量 off 開始的指定字節(jié)數(shù)組中寫入 len 個字節(jié)到此文件輸出流。
void write(int b) 將指定字節(jié)寫入此文件輸出流。
從類 java.lang.Object 繼承的方法
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
從類 java.io.OutputStream 繼承的方法
flush

構造函數(shù)詳細信息

FileOutputStream

public FileOutputStream(String name) throws FileNotFoundException

創(chuàng)建文件輸出流以寫入具有指定名稱的文件。 創(chuàng)建一個新的 FileDescriptor 對象來表示此文件連接。

首先,如果有一個安全管理器,它的 checkWrite 方法會以名稱作為參數(shù)被調用。

如果文件存在但是是目錄而不是常規(guī)文件,不存在但無法創(chuàng)建,或者由于任何其他原因無法打開,則拋出 FileNotFoundException。

參數(shù):

參數(shù)名稱 參數(shù)描述
name 系統(tǒng)相關的文件名

Throws:

Throw名稱 Throw描述
FileNotFoundException 如果文件存在但是是目錄而不是常規(guī)文件,不存在但無法創(chuàng)建,或者由于任何其他原因無法打開
SecurityException 如果安全管理器存在并且其 checkWrite 方法拒絕對文件的寫訪問。

FileOutputStream

public FileOutputStream(String name, boolean append) throws FileNotFoundException

創(chuàng)建文件輸出流以寫入具有指定名稱的文件。 如果第二個參數(shù)為 true,那么字節(jié)將被寫入文件的末尾而不是開頭。 創(chuàng)建一個新的 FileDescriptor 對象來表示此文件連接。

首先,如果有一個安全管理器,它的 checkWrite 方法會以名稱作為參數(shù)被調用。

如果文件存在但是是目錄而不是常規(guī)文件,不存在但無法創(chuàng)建,或者由于任何其他原因無法打開,則拋出 FileNotFoundException。

參數(shù):

參數(shù)名稱 參數(shù)描述
name 系統(tǒng)相關文件名
append 如果為 true,那么字節(jié)將被寫入文件的末尾而不是開頭

Throws:

Throw名稱 Throw描述
FileNotFoundException 如果文件存在但是是目錄而不是常規(guī)文件,不存在但無法創(chuàng)建,或者由于任何其他原因無法打開。
SecurityException 如果安全管理器存在并且其 checkWrite 方法拒絕對文件的寫訪問。

Since:

JDK1.1

FileOutputStream

public FileOutputStream(File file) throws FileNotFoundException

創(chuàng)建一個文件輸出流以寫入由指定 File 對象表示的文件。 創(chuàng)建一個新的 FileDescriptor 對象來表示此文件連接。

首先,如果有安全管理器,則調用它的 checkWrite 方法,并將文件參數(shù)表示的路徑作為其參數(shù)。

如果文件存在但是是目錄而不是常規(guī)文件,不存在但無法創(chuàng)建,或者由于任何其他原因無法打開,則拋出 FileNotFoundException。

參數(shù):

參數(shù)名稱 參數(shù)描述
file 要打開以進行寫入的文件。

Throws:

Throw名稱 Throw描述
FileNotFoundException 如果文件存在但是是目錄而不是常規(guī)文件,不存在但無法創(chuàng)建,或者由于任何其他原因無法打開
SecurityException 如果安全管理器存在并且其 checkWrite 方法拒絕對文件的寫訪問。

FileOutputStream

public FileOutputStream(File file, boolean append) throws FileNotFoundException

創(chuàng)建一個文件輸出流以寫入由指定 File 對象表示的文件。 如果第二個參數(shù)為 true,那么字節(jié)將被寫入文件的末尾而不是開頭。 創(chuàng)建一個新的 FileDescriptor 對象來表示此文件連接。

首先,如果有安全管理器,則調用它的 checkWrite 方法,并將文件參數(shù)表示的路徑作為其參數(shù)。

如果文件存在但是是目錄而不是常規(guī)文件,不存在但無法創(chuàng)建,或者由于任何其他原因無法打開,則拋出 FileNotFoundException。

參數(shù):

參數(shù)名稱 參數(shù)描述
file 要打開以進行寫入的文件。
append 如果為 true,那么字節(jié)將被寫入文件的末尾而不是開頭

Throws:

Throw名稱 Throw描述
FileNotFoundException 如果文件存在但是是目錄而不是常規(guī)文件,不存在但無法創(chuàng)建,或者由于任何其他原因無法打開
SecurityException 如果安全管理器存在并且其 checkWrite 方法拒絕對文件的寫訪問。

Since:

1.4

FileOutputStream

public FileOutputStream(FileDescriptor fdObj)

創(chuàng)建一個文件輸出流以寫入指定的文件描述符,它表示與文件系統(tǒng)中實際文件的現(xiàn)有連接。

首先,如果有一個安全管理器,它的 checkWrite 方法被調用,文件描述符 fdObj 參數(shù)作為它的參數(shù)。

如果 fdObj 為 null,則拋出 NullPointerException。

如果 fdObj 無效,此構造函數(shù)不會引發(fā)異常。 但是,如果在結果流上調用方法以嘗試對流進行 I/O,則會引發(fā) IOException。

參數(shù):

參數(shù)名稱 參數(shù)描述
fdObj 為寫入而打開的文件描述符

Throws:

Throw名稱 Throw描述
SecurityException 如果安全管理器存在并且它的 checkWrite 方法拒絕對文件描述符的寫訪問

方法詳情

write

public void write(int b) throws IOException

將指定字節(jié)寫入此文件輸出流。 實現(xiàn)OutputStream的write方法。

指定者:

寫在類 OutputStream

參數(shù):

參數(shù)名稱 參數(shù)描述
b 要寫入的字節(jié)。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

write

public void write(byte[] b) throws IOException

將指定字節(jié)數(shù)組中的 b.length 個字節(jié)寫入此文件輸出流。

覆蓋:

寫在類 OutputStream

參數(shù):

參數(shù)名稱 參數(shù)描述
b 數(shù)據(jù)。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

write

public void write(byte[] b, int off, int len) throws IOException

從偏移量 off 開始的指定字節(jié)數(shù)組中寫入 len 個字節(jié)到此文件輸出流。

覆蓋:

寫在類 OutputStream

參數(shù):

參數(shù)名稱 參數(shù)描述
b 數(shù)據(jù)。
off 數(shù)據(jù)中的起始偏移量。
len 要寫入的字節(jié)數(shù)。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

close

public void close() throws IOException

關閉此文件輸出流并釋放與此流關聯(lián)的所有系統(tǒng)資源。 此文件輸出流可能不再用于寫入字節(jié)。

如果此流具有關聯(lián)的通道,則該通道也將關閉。

指定者:

在接口 AutoCloseable 中關閉

指定者:

在接口Closeable中關閉

覆蓋:

在類 OutputStream 中關閉

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

getFD

public final FileDescriptor getFD() throws IOException

返回與此流關聯(lián)的文件描述符。

返回:

FileDescriptor 對象,表示此 FileOutputStream 對象正在使用的文件系統(tǒng)中的文件的連接。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

getChannel

public FileChannel getChannel()

返回與此文件輸出流關聯(lián)的唯一 FileChannel 對象。

返回通道的初始位置將等于到目前為止寫入文件的字節(jié)數(shù),除非此流處于附加模式,在這種情況下它將等于文件的大小。 將字節(jié)寫入此流將相應地增加通道的位置。 顯式或通過寫入更改通道的位置將更改此流的文件位置。

返回:

與此文件輸出流關聯(lián)的文件通道

Since:

1.4

finalize

protected void finalize() throws IOException

清理與文件的連接,并確保在不再引用此流時調用此文件輸出流的 close 方法。

覆蓋:

在類 Object 中完成

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號