📅  最后修改于: 2023-12-03 15:01:55.888000             🧑  作者: Mango
ObjectInputStream
类是用来反序列化对象的,它可以从一个流中读取对象,并将它们反序列化为实际的 Java 对象。available()
方法可以返回流中还有多少个字节可以被读取。本文将介绍 ObjectInputStream
的 available()
方法,并提供示例代码。
available()
方法的语法如下:
public int available() throws IOException
该方法返回输入流中还有多少字节可以被读取。如果没有剩余数据,该方法将返回 0。如果此输入流已到达文件末尾,则将返回 -1。
下面是一个使用 ObjectInputStream
类的示例。我们将从文件中读取存储在其中的对象,并显示剩余的可读字节数。
import java.io.*;
public class ObjectInputStreamExample {
public static void main(String[] args) {
try {
FileInputStream fileIn = new FileInputStream("file.txt");
ObjectInputStream in = new ObjectInputStream(fileIn);
Object obj = in.readObject();
System.out.println("剩余可读字节数:" + in.available());
in.close();
fileIn.close();
} catch (IOException i) {
i.printStackTrace();
} catch (ClassNotFoundException c) {
System.out.println("类未找到");
c.printStackTrace();
}
}
}
程序会输出存储在文件中的对象,并显示剩余的可读字节数。
剩余可读字节数:0
ObjectInputStream
类的 available()
方法可以用来获取输入流中还有多少字节可以被读取。在序列化和反序列化时,可以用它来判断是否还存在可读的字节,以便提前结束程序。