Java.io.FileInputStream.available()方法實例
java.io.FileInputStream.available() 方法返回可以從此輸入流中可阻斷由下一個方法調用這個輸入流中讀取剩餘的字節數。接下來的方法調用,也可以在另一個線程。
聲明
以下是java.io.FileInputStream.available()方法的聲明:
public int available()
參數
- NA
返回值
該方法返回可估算從這個輸入流中可無阻塞讀取剩餘的字節數。
異常
- IOException -- 如果該文件輸入流已關閉通過調用發生時關閉或任何I/ O錯誤。
例子
下面的示例演示java.io.FileInputStream.available()方法的用法。
package com.yiibai; import java.io.IOException; import java.io.FileInputStream; public class FileInputStreamDemo { public static void main(String[] args) throws IOException { FileInputStream fis = null; int available = 0; int i=0; try{ // create new file input stream fis = new FileInputStream("C://test.txt"); // read till the end of the stream while((i=fis.read())!=-1) { // available bytes available = fis.available(); // convert integer to character char c = (char)i; // prints System.out.print("Available: "+available); System.out.println("; Read: "+c); } }catch(Exception ex){ // if an I/O error occurs ex.printStackTrace(); }finally{ // releases all system resources from the streams if(fis!=null) { fis.close(); } } } }
假設我們有一個文本文件c:/ test.txt,它具有以下內容。該文件將被用作輸入到我們的示例程序:
ABCDEF
讓我們來編譯和運行上面的程序,這將產生以下結果:
Available: 5; Read: A Available: 4; Read: B Available: 3; Read: C Available: 2; Read: D Available: 1; Read: E Available: 0; Read: F