|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.io.InputStream java.io.FileInputStream
public class FileInputStream
FileInputStream
從檔案系統中的某個檔案中獲得輸入位元組。哪些檔案可用取決於主機環境。
FileInputStream
用於讀取諸如圖像資料之類別的原始位元組串流。要讀取字元串流,請考慮使用 FileReader
。
File
,
FileDescriptor
,
FileOutputStream
建構子摘要 | |
---|---|
FileInputStream(File file)
通過打開一個到實際檔案的連接來創建一個 FileInputStream ,該檔案通過檔案系統中的 File 物件 file 指定。 |
|
FileInputStream(FileDescriptor fdObj)
通過使用檔案描述符 fdObj 創建一個 FileInputStream ,該檔案描述符表示到檔案系統中某個實際檔案的現有連接。 |
|
FileInputStream(String name)
通過打開一個到實際檔案的連接來創建一個 FileInputStream ,該檔案通過檔案系統中的路徑名 name 指定。 |
方法摘要 | |
---|---|
int |
available()
返回下一次對此輸入串流調用的方法可以不受阻塞地從此輸入串流讀取(或跳過)的估計剩餘位元組數。 |
void |
close()
關閉此檔案輸入串流並釋放與此串流有關的所有系統資源。 |
protected void |
finalize()
確保在不再參考檔案輸入串流時調用其 close 方法。 |
FileChannel |
getChannel()
返回與此檔案輸入串流有關的唯一 FileChannel 物件。 |
FileDescriptor |
getFD()
返回表示到檔案系統中實際檔案的連接的 FileDescriptor 物件,該檔案系統正被此 FileInputStream 使用。 |
int |
read()
從此輸入串流中讀取一個資料位元組。 |
int |
read(byte[] b)
從此輸入串流中將最多 b.length 個位元組的資料讀入一個 byte 陣列中。 |
int |
read(byte[] b,
int off,
int len)
從此輸入串流中將最多 len 個位元組的資料讀入一個 byte 陣列中。 |
long |
skip(long n)
從輸入串流中跳過並丟棄 n 個位元組的資料。 |
從類別 java.io.InputStream 繼承的方法 |
---|
mark, markSupported, reset |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
public FileInputStream(String name) throws FileNotFoundException
FileInputStream
,該檔案通過檔案系統中的路徑名 name
指定。創建一個新 FileDescriptor
物件來表示此檔案連接。
首先,如果有安全管理器,則用 name
作為參數調用其 checkRead
方法。
如果指定檔案不存在,或者它是一個目錄,而不是一個常規檔案,抑或因為其他某些原因而無法打開進行讀取,則拋出 FileNotFoundException
。
name
- 與系統有關的檔案名。
FileNotFoundException
- 如果該檔案不存在,或者它是一個目錄,而不是一個常規檔案,抑或因為其他某些原因而無法打開進行讀取。
SecurityException
- 如果存在安全管理器,且其 checkRead
方法拒絕對檔案進行讀取存取。SecurityManager.checkRead(java.lang.String)
public FileInputStream(File file) throws FileNotFoundException
FileInputStream
,該檔案通過檔案系統中的 File
物件 file
指定。創建一個新 FileDescriptor
物件來表示此檔案連接。
首先,如果有安全管理器,則用 file
參數表示的路徑作為參數調用其 checkRead
方法。
如果指定檔案不存在,或者它是一個目錄,而不是一個常規檔案,抑或因為其他某些原因而無法打開進行讀取,則拋出 FileNotFoundException
。
file
- 為了進行讀取而打開的檔案。
FileNotFoundException
- 如果該檔案不存在,或者它是一個目錄,而不是一個常規檔案,抑或因為其他某些原因而無法打開進行讀取。
SecurityException
- 如果存在安全管理器,且其 checkRead
方法拒絕對檔案進行讀取存取。File.getPath()
,
SecurityManager.checkRead(java.lang.String)
public FileInputStream(FileDescriptor fdObj)
fdObj
創建一個 FileInputStream
,該檔案描述符表示到檔案系統中某個實際檔案的現有連接。
首先,如果有安全管理器,則用檔案描述符 fdObj
作為參數調用其 checkRead
方法,以查看它是否可以讀取該檔案描述符。如果拒絕對該檔案描述符進行讀取存取,則拋出 SecurityException
。
如果 fdObj
為 null,則拋出 NullPointerException
。
fdObj
- 為了進行讀取而打開的檔案描述符。
SecurityException
- 如果存在安全管理器,且其 checkRead
方法拒絕對檔案描述符進行讀取存取SecurityManager.checkRead(java.io.FileDescriptor)
方法詳細資訊 |
---|
public int read() throws IOException
InputStream
中的 read
-1
。
IOException
- 如果發生 I/O 錯誤。public int read(byte[] b) throws IOException
b.length
個位元組的資料讀入一個 byte 陣列中。在某些輸入可用之前,此方法將阻塞。
InputStream
中的 read
b
- 存儲讀取資料的緩衝區。
-1
。
IOException
- 如果發生 I/O 錯誤。InputStream.read(byte[], int, int)
public int read(byte[] b, int off, int len) throws IOException
len
個位元組的資料讀入一個 byte 陣列中。如果 len
不為 0,則在輸入可用之前,該方法將阻塞;否則,不讀取任何位元組並返回 0
。
InputStream
中的 read
b
- 存儲讀取資料的緩衝區。off
- 目標陣列 b
中的起始偏移量。len
- 讀取的最大位元組數。
-1
。
NullPointerException
- 如果 b
為 null
。
IndexOutOfBoundsException
- 如果 off
為負、len
為負,或者 len
大於 b.length - off
IOException
- 如果發生 I/O 錯誤。InputStream.read()
public long skip(long n) throws IOException
n
個位元組的資料。
出於各種原因,skip
方法最終跳過的位元組數可能更少一些,甚至可能為 0
。如果 n
為負,則拋出 IOException
,即使 InputStream
父級類別的 skip
方法在這種情況下沒有執行任何操作。返回實際跳過的位元組數。
此方法跳過的位元組可能多於底層實作檔案中剩餘的位元組。這不會產生異常,並且跳過的位元組數可能包括底層實作檔案的 EOF(檔案結束符)之後的一些位元組數。如果試圖在跳過末尾之後讀取串流,那麼會返回 -1(指示檔案結束)。
InputStream
中的 skip
n
- 要跳過的位元組數。
IOException
- 如果 n 為負,如果該串流不支持尋找操作,或者發生 I/O 錯誤。public int available() throws IOException
在某些情況下,非阻塞的讀取(或跳過)操作在執行很慢時看起來受阻塞,例如,在網速緩慢的網路上讀取大檔案時。
InputStream
中的 available
IOException
- 如果此檔案輸入串流已通過調用 close
關閉,或者發生 I/O 錯誤。public void close() throws IOException
如果此串流有一個與之關聯的通道,則關閉該通道。
Closeable
中的 close
InputStream
中的 close
IOException
- 如果發生 I/O 錯誤。public final FileDescriptor getFD() throws IOException
FileDescriptor
物件,該檔案系統正被此 FileInputStream
使用。
IOException
- 如果發生 I/O 錯誤。FileDescriptor
public FileChannel getChannel()
FileChannel
物件。
所返回通道的初始 position
將等於到目前為止從檔案中讀取的位元組數。從此串流中讀取的位元組會使通道的位置遞增。顯式地或通過讀取來更改通道的位置會更改此串流的檔案位置。
protected void finalize() throws IOException
close
方法。
Object
中的 finalize
IOException
- 如果發生 I/O 錯誤。close()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。