BufferedInputStream类将新属性添加到其他输入流,从而可以缓冲输入。创建BufferedInputStream时,将创建一个内部缓冲区数组。
BufferedInputStream类的available()方法用于知道可从内部缓冲区阵列读取的字节数,直到出现没有可用数据读取的情况。方法read()的调用将阻塞程序的执行流程,并等待数据可用。
用法:
public int available()
参数:此方法不带任何参数。
返回值:该方法用于返回从该输入流中读取的剩余字节数之和,没有任何阻塞。
异常:如果发生与输入输出有关的错误,或者使用close方法关闭输入流,则该方法将引发IOException。
范例1:下面的程序演示了available()方法的使用,假设存在文件“d:/demo.txt”。
// Java code to illustrate available() method 
import java.io.*; 
class Testing { 
    public static void main(String[] args) 
    throws IOException 
    { 
   
        // create input stream 'demo.txt' 
        // for reading containing text "GEEKS" 
        FileInputStream inputStream =  
        new FileInputStream("d:/demo.txt"); 
   
        // convert inputStream to  
        // bufferedInputStream 
        BufferedInputStream buffInputStr =  
        new BufferedInputStream(inputStream); 
   
        // get the number of bytes available 
        // to read using available() method 
        Integer remBytes =  
        buffInputStr.available(); 
   
        // Print result 
        System.out.println( 
            "Remaining bytes =" + remBytes); 
    } 
}输出:
5
范例2:下面的程序演示了available()方法的使用,假设存在文件“d:/demo.txt”。
// Java code to illustrate available() method 
import java.io.*; 
class Testing { 
    public static void main(String[] args) 
    throws IOException 
    { 
   
        // create input stream demo.txt 
        // for reading containing text 
        // "GEEKSFORGEEKS" 
        FileInputStream inputStream = 
        new FileInputStream("d:/demo.txt"); 
   
        // convert inputStream to  
        // BufferedInputStream 
        BufferedInputStream buffInputStr = 
        new BufferedInputStream(inputStream); 
   
        // get the number of bytes available to 
        // read using available() method 
        Integer remBytes =  
        buffInputStr.available(); 
   
        // Print result 
        System.out.println( 
            "Remaining bytes =" + remBytes); 
    } 
}输出:
13
相关用法
- Java Java.io.BufferedInputStream用法及代码示例
 - Java Java lang.Long.builtcount()用法及代码示例
 - Java Java lang.Long.reverse()用法及代码示例
 - Java Java lang.Long.byteValue()用法及代码示例
 - Java Java lang.Long.highestOneBit()用法及代码示例
 - Java Java.util.Collections.disjoint()用法及代码示例
 - Java Java.util.Collections.rotate()用法及代码示例
 - Java Java lang.Long.lowestOneBit()用法及代码示例
 - Java Java lang.Long.numberOfLeadingZeros()用法及代码示例
 - Java Java lang.Long.numberOfTrailingZeros()用法及代码示例
 - Java Java.util.ArrayList.addall()用法及代码示例
 - Java Java.lang.string.replace()用法及代码示例
 - Java Clock tickMinutes()用法及代码示例
 
注:本文由纯净天空筛选整理自thatguyaneeket大神的英文原创作品 Java BufferedInputStream available() method with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
