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

📅  最后修改于: 2023-12-03 15:01:55.888000             🧑  作者: Mango

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

ObjectInputStream 类是用来反序列化对象的,它可以从一个流中读取对象,并将它们反序列化为实际的 Java 对象。available() 方法可以返回流中还有多少个字节可以被读取。本文将介绍 ObjectInputStreamavailable() 方法,并提供示例代码。

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() 方法可以用来获取输入流中还有多少字节可以被读取。在序列化和反序列化时,可以用它来判断是否还存在可读的字节,以便提前结束程序。