问题标签 [objectoutputstream]
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.
java - 通过 ObjectOutputStream 发送相同但已修改的对象
我有以下代码显示我的错误或误解。
我发送了相同的列表,但通过 ObjectOutputStream 进行了修改。一次为 [0],其他为 [1]。但是当我阅读它时,我得到 [0] 两次。我认为这是因为我通过同一个对象发送并且 ObjectOutputStream 必须以某种方式缓存它们。
这是应有的工作,还是我应该提交错误?
java - Object(Output|Input)Stream二进制协议
我想知道是否有人有一些资源来描述ObjectOutputStream
. 我当然意识到对象本身可以通过实现Externalizable
接口来指定它们的数据,所以我想我更多地关注对象图的结构——如果你愿意的话,元数据。
我正在编写一个必须与遗留 Java 程序对话的 C 程序。我无法更改这些要求中的任何一个,因此我发现自己对ObjectOutputStream
协议进行了逆向工程。(有一个服务器使用 HTTP 进行传输并返回 Object*Stream 作为 HTTP 响应。)
但是,我觉得那里的其他人必须以前做过这项工作。你能指出任何资源来加快我的工作吗?
asp.net - 将 XMLWrite 输出发送到 httpContext.Response.OutputStream 时出现 NullReferenceException
我有一个应用程序,我时不时地遇到一个奇怪的错误。这是一段代码:
我得到的错误是:消息:对象引用未设置为对象的实例。
在线 XMLWriter.Flush();
为了让事情变得更有趣,这绝对是不可复制的。它只是时不时发生......
由于它在刷新 XML 时发生,我猜测现在为 null 的对象必须是 Response.OutputStream。
这是堆栈跟踪的相关部分:
我的问题是,在什么情况下会发生这种情况?这个服务器是一个长轮询服务器,所以客户端要求一些东西,我可能会在 30 秒内没有回答......如果客户端断开连接(即关闭浏览器窗口),这个 Stream 是否有可能变为 Null?
还有其他想法吗?(任何指针表示赞赏)
java - 对象输入流错误
我正在使用 ObjectOutputStream 创建序列化对象的文件。然后,我使用 ObjectInputStream 和 readObject() 方法将对象从文件中取出。
第一次效果很好。这意味着如果文件不存在并且我打开它然后附加任意数量的对象,我可以打开 ObjectInputStream 对象并访问所有对象。
但是,如果我随后打开同一个文件(使用 append 选项)并添加更多对象,ObjectInputStream 对象会收到 java.io.StreamCorruptedException: "invalid type code: AC" 错误,新对象应该从哪里开始。
有没有其他人遇到过这个?我什至回到了 Deitel 书中的一些基本教科书示例,但仍然遇到同样的错误。
编辑:我发现了这一点 - 一旦序列化流关闭并以附加模式重新打开,您可能无法附加到序列化流的末尾。写入似乎可以工作,但是当您稍后再读取文件时,您将收到 java.io.StreamCorruptedException。在“ http://mindprod.com/jgloss/gotchas.html#SERIALIZATION ”
java - OutputStream 删除文件内容 JAVA
我有需要记录序列化对象的文件。我打开ObjectOutputStream
写入文件。如果我没有在文件中写入任何内容,则文件内容将被删除。我不希望在制作时删除内容ObjectOutputStream
。
我的代码(我使用 Guice),
java - 如何覆盖 ObjectOutputStream.writeStreamHeader()?
ObjectOutputStream.writeStreamHeader()
可以重写该方法以将数据附加或附加到标头。但是,如果该数据基于传递给派生类构造函数的参数,例如:
它不起作用,因为在被初始化super()
之前被调用并调用. 我能想到解决这个问题的唯一方法是使用类似:m_myData
super()
writeStreamHeader()
ThreadLocal
这似乎可行,但是有更好(不那么笨重)的方法吗?
java - 附加到 ObjectOutputStream
不能附加到一个ObjectOutputStream
?
我正在尝试附加到对象列表。以下代码段是一个在作业完成时调用的函数。
但是当我尝试阅读它时,我只得到文件中的第一个。然后我得到java.io.StreamCorruptedException
.
阅读我正在使用
我不知道会有多少对象出现,所以我正在阅读,没有例外。根据谷歌的说法,这是不可能的。我想知道是否有人知道方法?
java - Java:使用没有可序列化的 ObjectOutputStream
有时,我想使用 anObjectOutputStream
将内容写入文件或通过网络发送小图像。但是BufferedImage
许多其他类没有实现java.io.Serializable
,然后 Stream 取消写入。有办法避免吗?
谢谢,马丁
java - 在java中将BitSet写入文件
我有一个 BitSet 并想将其写入文件 - 我遇到了一个使用 writeObject 方法使用 ObjectOutputStream 的解决方案。
我查看了 java API 中的 ObjectOutputStream,发现您可以编写其他东西(字节、整数、短等)
我试图检查类,所以我尝试使用以下代码将一个字节写入文件,但结果给了我一个 7 字节而不是 1 字节的文件
我的问题是文件中的前 6 个字节是什么?他们为什么在那里?
我的问题与 BitSet 有关,因为我不想开始将大量数据写入文件并意识到我在文件中插入了随机字节而不知道它们是什么。
这是代码:
谢谢你的帮助
阿夫纳
java - Java:具有可序列化问题的 ObjectOutputStream
我有这三个类:
命令:
客户:
MyKeyListener:
这个 keylistener 被添加到 JFrame 中的一个组件中。
问题是:如果我运行代码并且他想发送命令。流停止写入,因为“MyKeyListener 不可序列化”???!!但我从不尝试发送MyKeyListener