当前位置: 首页>>代码示例>>用法及示例精选>>正文


Java BufferedInputStream available()用法及代码示例

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


相关用法

注:本文由纯净天空筛选整理自thatguyaneeket大神的英文原创作品 Java BufferedInputStream available() method with Example。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。