问题标签 [objectinputstream]

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 投票
2 回答
1181 浏览

java - 通过 ObjectInputStream 和瞬态字段进行序列化

这个问题是关于 ObjectInputStream 以及它如何构建声明为瞬态的字段。考虑一个简单的 ObjectInputStream 用例

SomeClass 在哪里

ois.readObject 之后 sc.y 的值是多少?

我要求澄清我在docs.oracle.com上读到的内容

“反序列化过程会忽略声明为瞬态或静态的字段。对其他对象的引用会导致根据需要从流中读取这些对象。”

瞬态字段被忽略是什么意思?如果它们是瞬态的,如何从流中读取它们(即未序列化 - 我如何理解它......)

马蒂亚斯

0 投票
2 回答
2222 浏览

java - ObjectInputStreamReader 和 InputStreamReader 有什么区别?

我的老师说在文件服务器程序ObjectInputStreamReader中是必须写的。当我问原因时,他说我对文件服务器程序很舒服。我认为这不是必要的理由。为什么InputStreamReader或其他替代品不能使用?ObjectInputStreamReaderover有什么好处InputStreamReader

这里的客户端/服务器代码:

谁能说出真正的原因是什么?

0 投票
1 回答
628 浏览

java - 从 java.lang.NullPointerException 读取对象时,Android 应用程序在启动时崩溃

我正在开发我的第一个 Android 应用程序。在我决定添加一个功能来保存和加载 OnCreate 和 onRestart 上的对象和设置之前,它工作得很好。之后,应用程序在启动时崩溃。这是我从 OnCreate 调用的 setSettings。

在我保存东西之前,保存的布尔值应该是错误的,但我认为它不起作用。这是它调用的可能问题所在的 readPlayer。

这是我在崩溃时得到的 logCat。

我不知道您是否需要创建播放器,但在这里

每次我启动它时都会发生这种情况,并且我尝试了一些事情,正如您可能从代码中看到的那样,没有成功。我试着四处寻找,但找不到任何东西。希望大家能帮忙。
编辑:这是 LogCat 显示的第 72 行是问题所在。

所以看起来你是对的,它可能会读取一个空对象,而不是像我想象的那样返回一个新玩家。而且由于我对编写和读取对象不太了解,所以我只使用了 defaultWriteObject 和 defaultReadObject

编辑:更改读/写并尝试检查名称是否为空后,它仍然不起作用。我什至尝试将文本设置为字符串,但它仍然给出 nullPointerException,所以猜测它与 FindViewById(R.id.Player1name) 有关系,但我还不知道具体是什么。我使用 ViewPagerIndicator 为不同的屏幕使用不同的视图,这可能与它有关吗?

0 投票
2 回答
692 浏览

java - 发送更改的哈希图,但使用 ObjectOutputStream 和 ObjectInputStream 获得相同的哈希图

上面的代码来自两个文件。运行它们时,控制台会打印相同的结果:

这怎么可能发生?

0 投票
1 回答
113 浏览

java - 服务器连接

我正在用 Java 做自己的服务器。我需要做一个套接字连接并从客户端接收很多对象。我做到了,它有效,但我不知道这是否是最好(最快)的解决方案。这是我的代码示例:

问题是,当我尝试接收新对象时,我必须一直做新的 ObjectInputStream.. 这个解决方案是否正确?我必须做非常快的服务器,在我看来,一直做新的 ObjectInputStream 太贵了。

0 投票
1 回答
1106 浏览

java - (objectinputstream) ObjectInput.readObject() 给了我一个空对象

我有这堂课:

我使用这些方法将类(SaveState 对象)存储在 sdcard 中,并再次将文件中的对象读取到对象中:

我存储对象,每次我的应用程序关闭时,我每次打开我的应用程序时都从 sdcard 读取对象,它工作正常。当我创建更新版本的应用程序(1.01)时,问题就来了。当我启动应用程序并尝试从 sdcard 读取文件时,文件被读取,但对象类的所有变量都是空的,而且它们真的不为空。

为什么我的代码不能正常工作?我应该怎么做才能修复它?

0 投票
1 回答
596 浏览

java - ObjectInputStream 抛出 NotSerializableException

我正在尝试PWlist使用. 该数组包含两个不同的对象,并且. 当我尝试执行读取时,我得到了这个异常.......datObjectInputStreamLongPWPinPW

有人可以帮我理解什么是错的

0 投票
3 回答
1422 浏览

java - 无法从 .dat 文件中读取可序列化类

我尝试编写一个密钥持有者,我想使用 ObjectOutputStream 将密码写入 .dat 文件,然后使用 ObjectInputStream 读取它们。这是我编写对象的代码:

这似乎可行,但是当我尝试再次读取文件并将对象放入我的 PWlist 数组中时,它说 PinPW 不可序列化,即使 PinPW 实现了 Serializable 并且已导入。PinPW (Info) 的基类也实现了 Serializable 并导入它。这是我读取文件的代码:

PWlist数组是一个Info数组,PinPW和longPW扩展了Info。

我该怎么做才能解决这个问题?

0 投票
1 回答
513 浏览

java - Java:通过 TCP 读/写压缩对象

我必须通过套接字通过 TCP 传输一些记录。我用过ObjectInputStream并且ObjectOutputStream效果很好。一个批判性的想法是套接字打开一次,并且必须在整个通信过程中保持打开状态,但每一方都多次读取和写入(所以它更像是一个持久连接)。

为了提高整体性能,我尝试在编写对象之前对其进行压缩,结果非常令人鼓舞,但是由于我使用了GZIPOutputStreamand ByteArrayOutputStream,因此内存开销太大,在某些情况下会出现 OutOfMemory 错误。

我试过DeflaterOutputStream了,但它似乎不适合写对象。有没有办法解决这个问题?

0 投票
1 回答
866 浏览

java - 将 ObjectOutputStream 传递给另一个类

我正在开发一个在客户端/服务器系统中使用的 GUI 程序,它将数据保存在Vector. 我有一个ObjectOutputStream并且ObjectInputStream是在我建立连接时创建的,但是当我尝试打开一个时我不确定如何将它传递给新类。在我的Startup类中,我有一个Serializable对象 ( Message m),它被创建并传递给不同的类以修改不同的字段,以及在客户端和服务器之间建立连接

在我的Startup课堂上,我有这个代码......

WhatToDo课堂上我有这个代码......

如果我像在 中那样做新的ObjectOutputStream,我将创建一个到服务器的新连接。我希望使用在中创建的现有。提前谢谢你的帮助!ObjectInputStreamStartupStreamsStartupWhatToDo

我正在使用ActionListener带有按钮的按钮,因此需要将流保存在构造函数中以供以后在ActionListener.