📌  相关文章
📜  Java中的 PushbackInputStream available() 方法及示例

📅  最后修改于: 2022-05-13 01:54:56.280000             🧑  作者: Mango

Java中的 PushbackInputStream available() 方法及示例

Java中PushbackInputStream类的available()方法用于查找可以不阻塞地从输入流中读取的字节数。它返回此字节数的估计值。它可能会被同一输入流的下一次方法调用阻塞。

句法:

public int available()
              throws IOException

覆盖:此方法覆盖FilterInputStream类的 available() 方法。

参数:此方法不接受任何参数。

返回值:该方法返回可以不阻塞地从输入流中读取的字节数。

异常:如果通过调用同一个类的close()方法关闭输入流或发生I/O错误,则该方法抛出IOException

下面的程序说明了 IO 包中 PushbackInputStream 类的 available() 方法:

方案一:

// Java program to illustrate
// PushbackInputStream available() method
  
import java.io.*;
  
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
  
        // Create an array
        byte[] byteArray
            = new byte[] { 'G', 'E', 'E',
                           'K', 'S' };
  
        // Create inputStream
        InputStream inputStr
            = new ByteArrayInputStream(byteArray);
  
        // Create object of
        // PushbackInputStream
        PushbackInputStream pushbackInputStr
            = new PushbackInputStream(inputStr);
  
        // Find number of bytes
        int total_bytes
            = pushbackInputStr.available();
  
        System.out.println(
            "Total Bytes : " + total_bytes);
    }
}
输出:
Total Bytes : 5

方案二:

// Java program to illustrate
// PushbackInputStream available() method
  
import java.io.*;
  
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
  
        // Create an array
        byte[] byteArray
            = new byte[] { 'G', 'E', 'E', 'K', 'S',
                           'F', 'O', 'R', 'G', 'E',
                           'E', 'K', 'S' };
  
        // Create inputStream
        InputStream inputStr
            = new ByteArrayInputStream(byteArray);
  
        // Create object of
        // PushbackInputStream
        PushbackInputStream pushbackInputStr
            = new PushbackInputStream(inputStr);
  
        // Print total bytes
        System.out.println(
            "Total Bytes : "
            + pushbackInputStr.available());
    }
}
输出:
Total Bytes : 13

参考:
https://docs.oracle.com/javase/10/docs/api/java Java()