Java FileInputStream.available()
方法
原文:https://www.studytonight.com/java-file-io/java-fileinputstream-available-method
在本教程中,我们将学习 Java 中FileInputStream
类的available()
方法。此方法用于返回要从当前输入流中读取的剩余字节数,而不会被此FileInputStream
的此方法的下一次调用阻塞。下一个方法调用也可以是另一个线程。这是一种非静态方法,在 java.io 包中提供。
句法
这是此方法的语法声明。它不接受任何参数,并返回该FileInputStream
可以读取的剩余字节的大致数量。
public int available()
示例 1:检查 Java 流中的可用字节
在本例中,我们使用 available 方法检查流中可供读取的字节数,该方法返回的数字是 18,这表明流中可供读取的剩余字节总数是 18。
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class StudyTonight
{
public static void main(String[] args) throws IOException
{
FileInputStream inputStream = new FileInputStream("E:\\studytonight\\file.txt");
DataInputStream dataInputStream = new DataInputStream(inputStream);
int count = inputStream.available();
System.out.println("Total bytes available: "+count);
}
}
可用字节总数:18
示例 2:检查 Java 流中的可用字节
在本例中,我们使用 available 方法检查流中可供读取的字节数,该方法返回的数字为 5,这表明流中剩余可供读取的字节总数为 15。
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
public class StudyTonight
{
public static void main(String[] args) throws IOException
{
byte[] byte_arr = { 10, 20, 30, 40, 50 };
ByteArrayInputStream byteArrayInputStr = new ByteArrayInputStream(byte_arr);
DataInputStream dataInputStr = new DataInputStream(byteArrayInputStr);
int count = dataInputStr.available();
System.out.println("Total bytes available: "+count);
}
}
可用字节总数:5
结论:
在本教程中,我们学习了 Java 中FileInputStream
类的available()
方法,该方法返回要从当前输入流中读取的估计字节数,而不会被该FileInputStream
的该方法的下一次调用阻塞。这个方法只能用类对象访问,如果我们试图用类名访问这个方法,那么我们会得到一个错误。