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 對象執行某些檢查。(比如檢查該文件是否存在)