Java IO(四):FileInputStream

FileInputStream 可以以字節流的形式讀取文件的內容。FileInputStream 是 InputStream 的子類,這意味着你可以把 FileInputstream 當做 InputStream 使用。

InputStream input = new FileInputStream("文件");
int data = input.read();
while(data != -1){
    doSomethingWithData(data);
    data = input.read();
}
input.close();

請注意,爲了清晰,這裏忽略了必要的異常處理。

FileInputStram 的 read() 方法返回讀取的包含一個字節內容的 int 變量,如果 read() 方法返回 -1 ,意味着程序已經讀到流末尾,此時流內已經沒有多餘的數據可供讀取了,你可以關閉流。-1 是一個 int 類型,不是 byte 類型。

FileInputStream 也有其他的構造函數,允許你通過不同的方式讀取文件。

其中一個 FileInputStream 構造函數取一個 File 對象替代 String 對象作爲參數。這裏是一個使用該構造函數的例子:

File file = new File("c:\\data\\text.txt");
InputStream input = new FileInputStream(File);

至於你該採用參數是 String 對象還是 File 對象的構造函數,取決你當前是否已經擁有一個 File 對象,也取決你是否要在打開 FileOutputStream 之前通過 File 對象執行某些檢查。(比如檢查該文件是否存在)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章