鴻蒙OS FileOutputStream

2022-10-19 16:35 更新

FileOutputStream

java.lang.Object

|---java.io.OutputStream

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

  1. public class FileOutputStream
  2. extends OutputStream

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

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

Since:

JDK1.0

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

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

方法總結(jié)

修飾符和類型 方法 描述
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é)寫入此文件輸出流。
void write(byte[] b, int off, int len) 從偏移量 off 開始的指定字節(jié)數(shù)組中寫入 len 個(gè)字節(jié)到此文件輸出流。
void write(int b) 將指定字節(jié)寫入此文件輸出流。
從類 java.lang.Object 繼承的方法
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
從類 java.io.OutputStream 繼承的方法
flush

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

FileOutputStream

public FileOutputStream(String name) throws FileNotFoundException

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

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

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

參數(shù):

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

Throws:

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

FileOutputStream

public FileOutputStream(String name, boolean append) throws FileNotFoundException

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

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

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

參數(shù):

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

Throws:

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

Since:

JDK1.1

FileOutputStream

public FileOutputStream(File file) throws FileNotFoundException

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

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

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

參數(shù):

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

Throws:

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

FileOutputStream

public FileOutputStream(File file, boolean append) throws FileNotFoundException

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

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

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

參數(shù):

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

Throws:

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

Since:

1.4

FileOutputStream

public FileOutputStream(FileDescriptor fdObj)

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

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

如果 fdObj 為 null,則拋出 NullPointerException。

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

參數(shù):

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

Throws:

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

方法詳情

write

public void write(int b) throws IOException

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

指定者:

寫在類 OutputStream

參數(shù):

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

Throws:

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

write

public void write(byte[] b) throws IOException

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

覆蓋:

寫在類 OutputStream

參數(shù):

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

Throws:

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

write

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

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

覆蓋:

寫在類 OutputStream

參數(shù):

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

Throws:

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

close

public void close() throws IOException

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

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

指定者:

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

指定者:

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

覆蓋:

在類 OutputStream 中關(guān)閉

Throws:

Throw名稱 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名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤。

getChannel

public FileChannel getChannel()

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

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

返回:

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

Since:

1.4

finalize

protected void finalize() throws IOException

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

覆蓋:

在類 Object 中完成

Throws:

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)