问题标签 [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 建议
我的程序的目标是让它在关闭时保存,并在打开时重新加载。
我有一个驱动程序(包含所有图形),我希望它创建和保存文件。我在互联网上看过很多教程,但他们没有解释的是如何在实际程序中正确实现这个系统。
我是否在我的主要方法中创建 OutputStrema?我是否需要检查是否已创建文件,如果未创建文件,是否需要从中读取?我如何完成这一切?我应该有一个用于退出的 WindowListener 以便它可以保存所有数据吗?
谢谢
java - java.io.StreamCorruptedException:无效类型代码:00
所以基本上我在写一个客户端-服务器多人游戏。我有一个 SeverCommunicationThread,如果他收到 RequestForGame 创建一个游戏线程,它会创建一个游戏线程。当我发送 RequestForGame 时抛出异常 java.io.StreamCorruptedException: invalid type code: 00 我认为这是因为两个线程都试图读取相同的 ObjectInputStream,我对它的工作原理不太了解,我只知道如何使用它。您能帮我了解问题所在以及如何解决吗?谢谢 :)
model.addClient 方法虽然我认为问题不在这里
将对象发送到服务器的客户端代理,方法由 GUI 中的用户操作触发
}
java - 如何使用 ObjectOutputStream 和 ObjectInputStream
细节:
我的程序是一本包含 5 个班级的成绩册,这些班级全部汇总。GradeBook 有课程,Course 有 Categories,Category 有 Grades(所有 ArrayList)。我的程序还有一个 StateManager,它的唯一目的是因为深度聚合返回对对象的引用。在我的驱动程序中,我没有创建 GradeBook 的实例,而是创建了一个 statemanager,它有一个 GradeBook 的静态实例以及返回引用的方法。
我的目标是保存所有这些数据,以便在程序重新运行时重新打开。
问题:
当我编写文件时,我需要做的就是编写 StateManager 对象,对吗?我想我什至已经做到了这一点。我让程序创建一个“gradebook.data”文件。有没有办法在文本程序中打开 .data 文件并查看它是否正确写入?
在哪里使用输入流再次打开对象?在静态主方法中还是在初始化所有图形的方法的开头?
谢谢
java - 将对象附加到 .txt 文件
我正在尝试在“序列化”一章末尾的练习中给出的程序。
该程序要求我声明一个 Person 类,它只封装了 Name 和 Address 类型的两个数据成员,它们也是类。然后我必须从键盘上获取一系列名称和地址,创建对象并将它们写入文件。但是,如果文件已经存在,则必须将对象附加到现有文件中。我的程序第一次运行完美,但第二次,当我尝试回读附加记录时,我得到一个异常
我对此进行了一些研究,发现 StreamHeader 只能编写一次并且附加会破坏它。有什么办法吗???
对象编写代码是:
java - 发送更改的哈希图,但使用 ObjectOutputStream 和 ObjectInputStream 获得相同的哈希图
上面的代码来自两个文件。运行它们时,控制台会打印相同的结果:
这怎么可能发生?
java - (objectinputstream) ObjectInput.readObject() 给了我一个空对象
我有这堂课:
我使用这些方法将类(SaveState 对象)存储在 sdcard 中,并再次将文件中的对象读取到对象中:
我存储对象,每次我的应用程序关闭时,我每次打开我的应用程序时都从 sdcard 读取对象,它工作正常。当我创建更新版本的应用程序(1.01)时,问题就来了。当我启动应用程序并尝试从 sdcard 读取文件时,文件被读取,但对象类的所有变量都是空的,而且它们真的不为空。
为什么我的代码不能正常工作?我应该怎么做才能修复它?
java - 无法从 .dat 文件中读取可序列化类
我尝试编写一个密钥持有者,我想使用 ObjectOutputStream 将密码写入 .dat 文件,然后使用 ObjectInputStream 读取它们。这是我编写对象的代码:
这似乎可行,但是当我尝试再次读取文件并将对象放入我的 PWlist 数组中时,它说 PinPW 不可序列化,即使 PinPW 实现了 Serializable 并且已导入。PinPW (Info) 的基类也实现了 Serializable 并导入它。这是我读取文件的代码:
PWlist数组是一个Info数组,PinPW和longPW扩展了Info。
我该怎么做才能解决这个问题?
java - 将 ObjectOutputStream 传递给另一个类
我正在开发一个在客户端/服务器系统中使用的 GUI 程序,它将数据保存在Vector
. 我有一个ObjectOutputStream
并且ObjectInputStream
是在我建立连接时创建的,但是当我尝试打开一个时我不确定如何将它传递给新类。在我的Startup
类中,我有一个Serializable
对象 ( Message m
),它被创建并传递给不同的类以修改不同的字段,以及在客户端和服务器之间建立连接
在我的Startup
课堂上,我有这个代码......
在WhatToDo
课堂上我有这个代码......
如果我像在 中那样做新的ObjectOutputStream
,我将创建一个到服务器的新连接。我希望使用在中创建的现有。提前谢谢你的帮助!ObjectInputStream
Startup
Streams
Startup
WhatToDo
我正在使用ActionListener
带有按钮的按钮,因此需要将流保存在构造函数中以供以后在ActionListener
.
java - Java反序列化:从缓冲区读取时如何知道何时到达对象的末尾?
我试图想出一个好的标题,但似乎失败了。这是我的问题:
我正在从套接字读取数据。缓冲区中包含的数据是一个序列化的对象。一旦数据被完全读取,我就可以创建一个 ObjectInputStream 并使用 readObject 来读取数据。
我的问题是,因为我的套接字类正在读取字节......我怎么知道我什么时候收到了完整的对象?对象指示器似乎没有结束,我尝试寻找序列化字节码的突破以查看是否可以找到长度字段,但序列化字节码在谷歌可以找到的任何地方都没有得到很好的解释。
我收到的对象是哈希映射(java.util.Map),如果这有区别的话。
这是我正在使用的部分代码:
所以,我的问题是,当我阅读 m_DataIn 时,我如何确定我已经到达对象的末尾?
注意:我不能以任何方式修改我从中接收这些对象的服务器。这不是我的代码。
谢谢。
查尔斯。
java - 如何专门实现这个子类来绕过附加目标文件?
我在我的程序中附加目标文件时遇到了问题。我找到了这个答案。
但是,我不知道如何继承一个AppendableObjectOutputStream
. 谁能更详细地教我怎么做?