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()