Java BufferedInputStream.available()
方法
原文:https://www.studytonight.com/java-file-io/java-bufferedinputstream-available-method
在本教程中,我们将学习 Java 中 BufferedInputStream 类的可用()方法。此方法返回从输入流中读取的剩余字节数,而不会被该输入流的下一次方法调用阻塞。
句法
这是 available()方法的语法声明,它返回剩余的字节数,以便在不阻塞的情况下从该输入流中读取
public int available()
示例:Java BufferedInputStream 可用方法
在下面的例子中,我们使用 available()
方法从文件中获取可读取的字节。由于给定文件myfile.txt
包含 20 个字节用于读取,因此它将输出 20 个字节。
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class StudyTonight
{
public static void main(String[] args) throws IOException
{
FileInputStream file = new FileInputStream("E:\\studytonight\\myfile.txt");
BufferedInputStream buffer = new BufferedInputStream(file);
System.out.println("Total bytes available at beginning " + buffer.available());
buffer.close();
}
}
从 20 开始的可用字节总数
myfile.txt: 这是上面例子中用来读取的文件。
Hello Studytonight
示例:Java BufferedInputStream 可用方法
在下面的代码中,当可读取的字节数大于 0 时,我们运行循环,在每次迭代中,我们读取字符并打印可读取的字节数。需要注意的重要观察是,在每次迭代中,可用字节何时减少。
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class StudyTonight
{
public static void main(String[] args) throws IOException
{
FileInputStream file = new FileInputStream("E:\\studytonight\\output.txt");
BufferedInputStream buffer = new BufferedInputStream(file);
while(buffer.available()>0)
{
System.out.println("Available bytes = " + buffer.available() );
char ch = (char)buffer.read();
System.out.println("The character read = " + ch );
}
buffer.close();
}
}
可用字节= 18 字符读取= H 可用字节= 17 字符读取= e 可用字节= 16 字符读取= l 可用字节= 15 字符读取= l 可用字节= 14 字符读取= o 可用字节= 13 字符读取= 可用字节= 12 字符读取= S 可用字节= 11 字符读取= t 可用字节= 10 字符读取= u 可用字节= 9 字符读取= d 可用字节= 8 字符读取= y 可用字节= 7 字符读取= t 可用字节= 6 字符读取= o 可用字节= 5 字符读取= n 可用字节= 4 字符读取 = i 可用字节= 3 读取的字符= g 可用字节= 2 读取的字符= h 可用字节= 1 读取的字符= t
结论
在本教程中,我们学习了 Java 中 BufferedInputStream 类的可用方法,该方法返回从输入流中读取的剩余字节数,而不会被该输入流的下一次方法调用阻塞。