新聞中心
FileInputStream

創(chuàng)新互聯(lián)建站專注于水城企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。水城網(wǎng)站建設(shè)公司,為水城等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
java.lang.Object
|---java.io.InputStream
|---|---java.io.FileInputStream
public class FileInputStream
extends InputStreamFileInputStream 從文件系統(tǒng)中的文件獲取輸入字節(jié)。 可用的文件取決于主機(jī)環(huán)境。
FileInputStream 用于讀取原始字節(jié)流,例如圖像數(shù)據(jù)。 要讀取字符流,請(qǐng)考慮使用 FileReader。
Since:
JDK1.0
構(gòu)造函數(shù)摘要
| 構(gòu)造函數(shù) | 描述 |
|---|---|
| FileInputStream(File file) | 通過打開與實(shí)際文件的連接來創(chuàng)建 FileInputStream,該文件由文件系統(tǒng)中的 File 對(duì)象文件命名。 |
| FileInputStream(FileDescriptor fdObj) | 使用文件描述符 fdObj 創(chuàng)建一個(gè) FileInputStream,它表示與文件系統(tǒng)中實(shí)際文件的現(xiàn)有連接。 |
| FileInputStream(String name) | 通過打開與實(shí)際文件的連接來創(chuàng)建 FileInputStream,該文件由文件系統(tǒng)中的路徑名 name 命名。 |
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| int | available() | 返回可以從此輸入流中讀?。ɑ蛱^)的剩余字節(jié)數(shù)的估計(jì)值,而不會(huì)被下一次調(diào)用此輸入流的方法阻塞。 |
| 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() | 返回 FileDescriptor 對(duì)象,該對(duì)象表示與此 FileInputStream 正在使用的文件系統(tǒng)中的實(shí)際文件的連接。 |
| int | read() | 從此輸入流中讀取一個(gè)字節(jié)的數(shù)據(jù)。 |
| int | read(byte[] b) | 從此輸入流中讀取最多 b.length 個(gè)字節(jié)的數(shù)據(jù)到字節(jié)數(shù)組中。 |
| int | read(byte[] b, int off, int len) | 從此輸入流中讀取最多 len 個(gè)字節(jié)的數(shù)據(jù)到一個(gè)字節(jié)數(shù)組中。 |
| long | skip(long n) | 跳過并丟棄輸入流中的 n 字節(jié)數(shù)據(jù)。 |
| 從類 java.io.InputStream 繼承的方法 |
|---|
| mark, markSupported, reset |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
構(gòu)造函數(shù)詳細(xì)信息
FileInputStream
public FileInputStream(String name) throws FileNotFoundException
通過打開與實(shí)際文件的連接來創(chuàng)建 FileInputStream,該文件由文件系統(tǒng)中的路徑名 name 命名。 創(chuàng)建一個(gè)新的 FileDescriptor 對(duì)象來表示此文件連接。
首先,如果有一個(gè)安全管理器,它的 checkRead 方法會(huì)以 name 參數(shù)作為它的參數(shù)來調(diào)用。
如果命名文件不存在,是目錄而不是常規(guī)文件,或者由于某些其他原因無法打開讀取,則拋出 FileNotFoundException。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| name | 系統(tǒng)相關(guān)的文件名。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| FileNotFoundException | 如果文件不存在,是目錄而不是常規(guī)文件,或者由于某些其他原因無法打開讀取。 |
| SecurityException | 如果存在安全管理器并且其 checkRead 方法拒絕對(duì)文件的讀取訪問。 |
FileInputStream
public FileInputStream(File file) throws FileNotFoundException
通過打開與實(shí)際文件的連接來創(chuàng)建 FileInputStream,該文件由文件系統(tǒng)中的 File 對(duì)象文件命名。 創(chuàng)建一個(gè)新的 FileDescriptor 對(duì)象來表示此文件連接。
首先,如果存在安全管理器,則調(diào)用其 checkRead 方法,并將文件參數(shù)表示的路徑作為其參數(shù)。
如果命名文件不存在,是目錄而不是常規(guī)文件,或者由于某些其他原因無法打開讀取,則拋出 FileNotFoundException。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| file | 要打開以供閱讀的文件。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| FileNotFoundException | 如果文件不存在,是目錄而不是常規(guī)文件,或者由于某些其他原因無法打開讀取。 |
| SecurityException | 如果存在安全管理器并且其 checkRead 方法拒絕對(duì)文件的讀取訪問。 |
FileInputStream
public FileInputStream(FileDescriptor fdObj)
使用文件描述符 fdObj 創(chuàng)建一個(gè) FileInputStream,它表示與文件系統(tǒng)中實(shí)際文件的現(xiàn)有連接。
如果有安全管理器,則調(diào)用它的 checkRead 方法,并以文件描述符 fdObj 作為其參數(shù),以查看是否可以讀取文件描述符。 如果拒絕對(duì)文件描述符的讀取訪問,則會(huì)引發(fā) SecurityException。
如果 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 | 如果安全管理器存在并且其 checkRead 方法拒絕對(duì)文件描述符的讀取訪問。 |
方法詳情
read
public int read() throws IOException
從此輸入流中讀取一個(gè)字節(jié)的數(shù)據(jù)。 如果還沒有輸入可用,則此方法會(huì)阻塞。
指定者:
讀入類 InputStream
返回:
數(shù)據(jù)的下一個(gè)字節(jié),如果到達(dá)文件末尾,則為 -1。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤。 |
read
public int read(byte[] b) throws IOException
從此輸入流中讀取最多 b.length 個(gè)字節(jié)的數(shù)據(jù)到字節(jié)數(shù)組中。 此方法會(huì)阻塞,直到某些輸入可用。
覆蓋:
讀入類 InputStream
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| b | 讀取數(shù)據(jù)的緩沖區(qū)。 |
返回:
讀入緩沖區(qū)的總字節(jié)數(shù),如果由于已到達(dá)文件末尾而沒有更多數(shù)據(jù),則為 -1。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤。 |
read
public int read(byte[] b, int off, int len) throws IOException
從此輸入流中讀取最多 len 個(gè)字節(jié)的數(shù)據(jù)到一個(gè)字節(jié)數(shù)組中。 如果 len 不為零,則該方法會(huì)阻塞,直到某些輸入可用; 否則,不讀取任何字節(jié)并返回 0。
覆蓋:
讀入類 InputStream
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| b | 讀取數(shù)據(jù)的緩沖區(qū)。 |
| off | 目標(biāo)數(shù)組 b 中的起始偏移量 |
| len | 讀取的最大字節(jié)數(shù)。 |
返回:
讀入緩沖區(qū)的總字節(jié)數(shù),如果由于已到達(dá)文件末尾而沒有更多數(shù)據(jù),則為 -1。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果 b 為空。 |
| IndexOutOfBoundsException | 如果 off 為負(fù)數(shù),len 為負(fù)數(shù),或者 len 大于 b.length - off |
| IOException | 如果發(fā)生 I/O 錯(cuò)誤。 |
skip
public long skip(long n) throws IOException
跳過并丟棄輸入流中的 n 字節(jié)數(shù)據(jù)。
由于各種原因,skip 方法最終可能會(huì)跳過一些較小的字節(jié)數(shù),可能為 0。如果 n 為負(fù)數(shù),該方法將嘗試向后跳過。 如果支持文件在其當(dāng)前位置不支持向后跳過,則會(huì)引發(fā) IOException。 返回實(shí)際跳過的字節(jié)數(shù)。 如果它向前跳過,它會(huì)返回一個(gè)正值。 如果向后跳過,則返回負(fù)值。
此方法可能會(huì)跳過比后備文件中剩余的字節(jié)更多的字節(jié)。 這不會(huì)產(chǎn)生異常,并且跳過的字節(jié)數(shù)可能包括超出后備文件 EOF 的一些字節(jié)數(shù)。 在跳過結(jié)尾后嘗試從流中讀取將導(dǎo)致 -1 指示文件的結(jié)尾。
覆蓋:
在 InputStream 類中跳過
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| n | 要跳過的字節(jié)數(shù)。 |
返回:
跳過的實(shí)際字節(jié)數(shù)。
Throws:
| Throw名稱 | Throw模式 |
|---|---|
| IOException | 如果 n 為負(fù)數(shù),如果流不支持查找,或者發(fā)生 I/O 錯(cuò)誤。 |
available
public int available() throws IOException
返回可以從此輸入流中讀?。ɑ蛱^)的剩余字節(jié)數(shù)的估計(jì)值,而不會(huì)被下一次調(diào)用此輸入流的方法阻塞。 當(dāng)文件位置超出 EOF 時(shí)返回 0。 下一次調(diào)用可能是同一個(gè)線程或另一個(gè)線程。 單次讀取或跳過這么多字節(jié)不會(huì)阻塞,但可能會(huì)讀取或跳過更少的字節(jié)。
在某些情況下,非阻塞讀?。ɑ蛱^)可能會(huì)在其速度較慢時(shí)被阻止,例如通過慢速網(wǎng)絡(luò)讀取大文件時(shí)。
覆蓋:
在類 InputStream 中可用
返回:
估計(jì)可以從該輸入流中讀?。ɑ蛱^)而不會(huì)阻塞的剩余字節(jié)數(shù)。
Throws:
| Throw名稱 | Throw模式 |
|---|---|
| IOException | 如果此文件輸入流已通過調(diào)用 close 關(guān)閉或發(fā)生 I/O 錯(cuò)誤。 |
close
public void close() throws IOException
關(guān)閉此文件輸入流并釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源。
如果此流具有關(guān)聯(lián)的通道,則該通道也將關(guān)閉。
指定者:
在接口 AutoCloseable 中關(guān)閉
指定者:
在接口Closeable中關(guān)閉
覆蓋:
在類 InputStream 中關(guān)閉
Throws:
| Throw名稱 | Throw模式 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤。 |
getFD
public final FileDescriptor getFD() throws IOException
返回 FileDescriptor 對(duì)象,該對(duì)象表示與此 FileInputStream 正在使用的文件系統(tǒng)中的實(shí)際文件的連接。
返回:
與此流關(guān)聯(lián)的文件描述符對(duì)象。
Throws:
| Throw名稱 | Throw模式 |
|---|---|
| IOException | 如果發(fā)生 I/O 錯(cuò)誤。 |
getChannel
public FileChannel getChannel()
返回與此文件輸入流關(guān)聯(lián)的唯一 FileChannel 對(duì)象。
返回通道的初始位置將等于到目前為止從文件中讀取的字節(jié)數(shù)。 從此流中讀取字節(jié)將增加通道的位置。 顯式或通過讀取更改通道的位置將更改此流的文件位置。
返回:
與此文件輸入流關(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ò)誤。 |
網(wǎng)頁標(biāo)題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS FileInputStream
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/ccsehhp.html


咨詢
建站咨詢
