Java ObjectInputStream Class2025年5月9日 | 阅读 12 分钟 java.io.ObjectInputStream 类用于反序列化先前使用 ObjectOutputStream 序列化的对象和原始数据。它允许重建对象图,并确保序列化对象的类与当前 JVM (Java 虚拟机) 的类定义兼容。 ObjectOutputStream 和 ObjectInputStream 协同工作以保存和访问 对象 图。尽管如此,只有实现 Serializable 或 Externalizable 接口的项才能从流中检索。如果找到不可序列化的项,将发生错误。Serializable 接口充当标记,指示 JVM 将对象的当前状态记录到流中。 类声明 构造函数
ObjectOutputStream 类的方法read() 方法java.io.ObjectInputStream 的 read() 方法从流中读取一个字节的数据,如果没有可用数据则会阻塞。 语法 参数 无。 返回值
异常
readBoolean() 方法java.io.ObjectInputStream 的 readBoolean() 方法 从流中读取一个布尔值。 语法 参数 无。 返回值
异常
输出 Byte value read: A Boolean value read: true read(byte[] buffer, int offset, int maxlen) 方法java.io.ObjectInputStream 的 read(byte[] buffer, int offset, int maxlen) 方法从输入流中读取指定数量的字节到字节 数组 中。 语法 参数
返回值
异常
输出 Bytes read: 13 Data read: Hello, World! readByte() 方法java.io.ObjectInputStream 类 的 readByte() 方法从输入流中读取一个 8 位字节。 语法 参数
返回值
异常
readChar() 方法从流中读取单个 16 位 Unicode 字符。 语法 返回值: 字符值。 异常
readDouble() 方法从流中读取一个 8 字节(64 位)的 double 值。 语法 返回值: double 值。 异常
readFloat() 方法从流中读取一个 4 字节(32 位)的浮点值。 语法 返回值: float 值。 异常
readInt() 方法从流中读取一个 4 字节(32 位)的整数值。 语法 返回值: int 值。 异常
readLong() 方法从流中读取一个 8 字节(64 位)的 long 值。 语法 返回值: long 值。 异常
输出 Data written to file successfully. Character read: Z Byte read: 127 Double read: 1234.56 Float read: 12.34 Integer read: 100 Long read: 123456789 readUnsignedByte() 方法从流中读取一个 8 位无符号字节,并将其作为整数值返回。 语法 返回值
异常
readUnsignedShort() 方法从流中读取一个 16 位无符号 short,并将其作为整数值返回。 语法 返回值
异常
输出 Data written to file successfully. Unsigned Byte read: 200 Unsigned Short read: 60000 readUTF() 方法ObjectInputStream 类中的 readUTF() 方法用于读取使用修改后的 UTF-8 格式编码的字符串。它通常用于读取 ObjectOutputStream 的 writeUTF() 方法写入的字符串。 语法 描述
返回值
异常
文件名:UTFReadExample.java 输出 Result from readUTF(): LearningWithExamples skipBytes(int maxlen) 方法ObjectInputStream 中的 skipBytes(int n) 方法用于跳过输入流中指定数量的字节。当您想在读取时绕过数据的某些部分时,此方法特别有用。 语法 参数
返回值
异常
输出 ingBytesHere readFully(byte[] destination) 方法ObjectInputStream 类中的 readFully(byte[] destination) 方法从输入流中读取数据并完全填充提供的字节数组。此方法会阻塞,直到读取完数组中的所有字节或抛出异常。 语法 参数
返回值
异常
输出 Data read using readFully: JavaIsAwesome readFully(byte[] destination, int offset, int maxlen) 方法ObjectInputStream 类中的 readFully(byte[] destination, int offset, int maxlen) 方法从输入流中读取指定数量的字节,并将它们写入提供的字节 数组 的特定部分。此方法会阻塞,直到完全读取请求的字节或抛出异常。 语法 参数
异常
文件名:ReadFullyWithOffsetExample.java 输出 Buffer content: H e l l o 下一个主题Java 框架 |
问题陈述:给定一个数组 nums。该问题确定数组中索引的最大集合,使得对于每个选定的索引 i,都存在另一个选定的索引 j,其中 A[i] ≤ 2 × A[j]。任务是找到标记的最大可能数量...
阅读 6 分钟
当且仅当两个双缓冲区的元素类型相同,剩余元素数量相等,并且当考虑它们来自何处时,两个元素序列逐点等效时,它们才相等。……
阅读 4 分钟
当 Java 中使用两个或多个引用指向同一个对象时,这被称为“别名”。当用户向对象写入内容,而其所有者不希望在多个引用存在的情况下发生更改时,别名就会成为问题。这里,别名代码……
阅读 3 分钟
在 Java 中,当我们处理 String 时,有时需要使用特定的字符集对字符串进行编码。编码是从一种格式到另一种格式转换数据的一种方式。String 对象使用 UTF-16 编码。UTF-16 的问题在于它不能...
阅读 3 分钟
? 在面向对象编程中,不可变字符串或对象一旦创建就无法修改。但我们只能改变对象的引用。我们限制更改对象本身。Java 中的 String 是不可变的,因为安全、同步和并发... ...
阅读 4 分钟
这是一个检查型异常,其中包含被调用方法或构造函数抛出的异常。自 JDK 1.4 以来,此异常已通过改造以符合通用的异常链机制。“目标异常”在构造时提供,并通过 getTargetException() 访问...
阅读 2 分钟
James Gosling于1995年创建了Java,这是一门高级编程语言。Java是Android应用程序的流行语言。Java甚至用于Android操作系统的创建。由于其清晰、简洁和易于理解的语法,它深受开发人员的喜爱。超过...
阅读 3 分钟
空对象设计模式是一种行为设计模式,它使用多态性来消除代码中进行空检查的需要。我们不使用空引用来表示对象的缺失,而是提供一个具有所需功能的默认“空”对象...
7 分钟阅读
区块链是一项新兴技术,在未来几年将具有巨大的前景。在本教程中,我们将简要介绍区块链的基本概念。我们还将创建一个基本的区块链程序(用 Java 编写),以了解它在编程世界中的工作原理。什么是区块链?区块链是...
阅读 8 分钟
JDK 8 引入了 DoublePredicate 接口。一个名为 DoublePredicate (java.util.function.DoublePredicate) 的函数式接口在其内部指定了三个默认方法和一个抽象方法。这个接口是 Predicate 接口的一个更专业的版本。因为它只有一个抽象方法 test (double value)...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India