问题标签 [optionaldataexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
124 浏览

java - 仅序列化对象时的 Java OptionalDataException(任何地方都没有原始数据类型)

我正在处理一个我无法弄清楚的奇怪的 OptionalDataException。

我有对象进来,它们由一个类保存到磁盘,该类通过装饰OutputObjectStream并调用其writeUnshared方法来编写它们。定期,每 10000 个对象,它调用flushreset。最后,它关闭流。

这样,我创建了少量只包含序列化对象的文件。

事情就是这样。写完所有这些文件后,我拿了一对并尝试对它们进行归并排序。此时,文件的大小没有改变(如预期的那样)。

为此,我首先打开两个流并调用readObject每个流。

但是,每次调用readObject(每个流上的第一个)都会抛出,据我所知,这表明我正在读取原始数据类型,或者正在发生其他我没有得到的事情。OptionalDataExceptioneof = false, length = 4

0 投票
1 回答
224 浏览

android - Android:ObjectInputStream.readObject() 上的 OptionalDataException

情况:从我的 Android 服务器,我正在向客户端发送一个简单的 String OBJECT。我在服务器上使用 ObjectOutputStream,在客户端使用 ObjectInputStream。

服务器代码:

客户代码:

问题:在客户端,我在 readObject() 期间收到 OptionalDataException。有趣的是,它只能在第一次正确读取它,但随后会抛出此异常。

如您所见,我在发送对象之前和之后刷新()和重置() OutPutStream。为什么还会出现这个错误?

0 投票
1 回答
243 浏览

java - 使用 readObject 获取 byte[][] 给出 OptionalDataException

我在阅读我制作的一些文件时遇到了一点问题。我正在制作游戏,并决定为地图制作自己的文件类型。我做了一个特殊的应用程序来制作这些地图文件。实例化地图后,我可以选择调用 readFile(String path) 将地图设置为已保存的地图。我知道我必须以相同的顺序读取和写入流,并且一切都很顺利,直到我添加了关于读取和写入字节 [] [] 的语句。我无法弄清楚为什么会出现此异常以及如何仍然读取字节 [] []。这是我的课。

我的 (byte[][]) readObject() 行抛出 OptionalDataException 是否有某种原因,我如何仍然读/写我的 byte[][]。

编辑:感谢您的回答 Abhinav Kumar。我忽略了这一点,但是当我修复代码时,它仍然在同一行给我同样的错误。(课程现已修复)。

0 投票
0 回答
1018 浏览

java - Java 异常 java.io.OptionalDataException

反序列化对象时出现以下异常:

我用来序列化和反序列化对象的代码如下:

我试图序列化/反序列化的对象是一个哈希图,如下所示:

Document 类具有以下定义和一些方法。

请帮忙!

0 投票
1 回答
287 浏览

java - ObjectInputStream readobject 不起作用 OptionalDataException

当我使用 readObject 时,我得到 OptionalDataException(当流中的下一个元素是原始数据时,尝试读取一个对象),我该如何解决这个问题?页面是可序列化的。writeObject 有效。

0 投票
1 回答
3204 浏览

java - 可选数据异常 Java

我正在制作一个语音聊天程序,但出现了OptionalDataException错误,在添加语音之前,我的代码从未遇到过这个问题。语音通信由不同的套接字处理,所以我看不到问题。

代码:

它被扔了msg = (String) i1.readObject();,它说

0 投票
1 回答
36 浏览

java - 我在以下程序中得到 OptionalDataException。为什么会出现这个错误

我试图在序列化之前加密密码
我在下面的代码中得到 OptionalDataException。我读了很多文章,例如“之前读取非瞬态变量,程序中的 EOF,以与您在文件中写入相同的方式读取等.. 但本文没有解决我的问题,这是我遇到错误的程序。

0 投票
1 回答
343 浏览

netty - 由 OptionalDataException 引起的 StormServerHandler Netty 错误后,Storm 拓扑停止发射

我们有一个使用 3 个节点和多个拓扑运行的风暴集群。我们apache-storm-1.2.2使用java 1.8.0_162

目前我们遇到的问题是随机拓扑在发生错误并且 Netty 服务器不可用后随机停止发射。这可能会在几个小时或几天后发生。

由于我们没有改变风暴螺栓发射或执行数据的逻辑,我们目前不知道如何抛出这样的错误。同样值得怀疑的是,为什么在这样的错误之后整个拓扑停止工作。

似乎某些 HashMap 的反序列化存在问题。但我们无法弄清楚这是怎么发生的。

这里是导致失败的一名工人的错误:

抛出此错误后,此特定拓扑的所有其他工作人员将停止工作,我们必须杀死并重新部署。

其他工作人员的日志要么显示无用,要么如下: