鴻蒙OS FileOutputStream

2022-10-19 16:35 更新

FileOutputStream

java.lang.Object

|---java.io.OutputStream

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

public class FileOutputStream
extends OutputStream

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

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

Since:

JDK1.0

構(gòu)造函數(shù)摘要

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

方法總結(jié)

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

構(gòu)造函數(shù)詳細(xì)信息

FileOutputStream

public FileOutputStream(String name) throws FileNotFoundException

創(chuàng)建文件輸出流以寫(xiě)入具有指定名稱(chēng)的文件。 創(chuàng)建一個(gè)新的 FileDescriptor 對(duì)象來(lái)表示此文件連接。

首先,如果有一個(gè)安全管理器,它的 checkWrite 方法會(huì)以名稱(chēng)作為參數(shù)被調(diào)用。

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

參數(shù):

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

Throws:

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

FileOutputStream

public FileOutputStream(String name, boolean append) throws FileNotFoundException

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

首先,如果有一個(gè)安全管理器,它的 checkWrite 方法會(huì)以名稱(chēng)作為參數(shù)被調(diào)用。

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

參數(shù):

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

Throws:

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

Since:

JDK1.1

FileOutputStream

public FileOutputStream(File file) throws FileNotFoundException

創(chuàng)建一個(gè)文件輸出流以寫(xiě)入由指定 File 對(duì)象表示的文件。 創(chuàng)建一個(gè)新的 FileDescriptor 對(duì)象來(lái)表示此文件連接。

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
file 要打開(kāi)以進(jìn)行寫(xiě)入的文件。

Throws:

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

FileOutputStream

public FileOutputStream(File file, boolean append) throws FileNotFoundException

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

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

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

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
file 要打開(kāi)以進(jìn)行寫(xiě)入的文件。
append 如果為 true,那么字節(jié)將被寫(xiě)入文件的末尾而不是開(kāi)頭

Throws:

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

Since:

1.4

FileOutputStream

public FileOutputStream(FileDescriptor fdObj)

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

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

如果 fdObj 為 null,則拋出 NullPointerException。

如果 fdObj 無(wú)效,此構(gòu)造函數(shù)不會(huì)引發(fā)異常。 但是,如果在結(jié)果流上調(diào)用方法以嘗試對(duì)流進(jìn)行 I/O,則會(huì)引發(fā) IOException。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
fdObj 為寫(xiě)入而打開(kāi)的文件描述符

Throws:

Throw名稱(chēng) Throw描述
SecurityException 如果安全管理器存在并且它的 checkWrite 方法拒絕對(duì)文件描述符的寫(xiě)訪問(wèn)

方法詳情

write

public void write(int b) throws IOException

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

指定者:

寫(xiě)在類(lèi) OutputStream

參數(shù):

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

Throws:

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

write

public void write(byte[] b) throws IOException

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

覆蓋:

寫(xiě)在類(lèi) OutputStream

參數(shù):

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

Throws:

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

write

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

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

覆蓋:

寫(xiě)在類(lèi) OutputStream

參數(shù):

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

Throws:

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

close

public void close() throws IOException

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

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

指定者:

在接口 AutoCloseable 中關(guān)閉

指定者:

在接口Closeable中關(guān)閉

覆蓋:

在類(lèi) OutputStream 中關(guān)閉

Throws:

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

getFD

public final FileDescriptor getFD() throws IOException

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

返回:

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

Throws:

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

getChannel

public FileChannel getChannel()

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

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

返回:

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

Since:

1.4

finalize

protected void finalize() throws IOException

清理與文件的連接,并確保在不再引用此流時(shí)調(diào)用此文件輸出流的 close 方法。

覆蓋:

在類(lèi) Object 中完成

Throws:

Throw名稱(chēng) Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)