问题标签 [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.
java - android 的 I/O 问题(主要是 ObjectInputStream)
第一次在这里发帖,所以放轻松!
尝试创建读取 omw.data 的方法,检查文件中是否已存在 SavedSession 对象。如果确实如此,则忽略它,否则将其附加到文件的末尾。
我可以添加一个对象,当添加相同的 SavedSession 时,它可以正常工作,说它已经添加了。添加另一种类型的 SavedSession 时,它说它已添加,但是当尝试读取 omw.data 时,它会抛出
java.io.StreamCorruptedException:格式错误:ac
SavedSession 不包含 GeoPoint 对象,而只是使用它来获取纬度和经度。
任何帮助将不胜感激。我确实尝试过搜索并尝试了很多不同的方法,或者并没有真正理解到底是什么问题。
谢谢,如果我遗漏了什么,请告诉我,我会马上补上的。
错误
编辑:读这个
发现由于某种原因你不能追加,不太清楚为什么。每次都更改代码以重写数据,但似乎效率很低。
java - 为什么将 ObjectInputStream 与 GZIP 结合使用会导致 OIS 阻塞线程?
我目前有一个简单的系统设置,其中 ObjectInputStream 直接从连接到客户端 Socket 输入流的 GZIPInputStream 读取:
问题在于,ObjectInputStream 尝试读取流标头并开始阻塞线程。为什么会发生这种情况,和/或我怎样才能阻止这种情况发生?
java - 在接收到对象之前执行的 Java 网络代码
我有一个使用网络的 Java 游戏,我有一个客户端(使用套接字)从 ObjectInputStream 中获取对象,在它自己的线程中运行。
这工作得很好。获取该对象并将其传递给侦听器,该侦听器是一个链接到我的主 GameApp 类的类。
从侦听器(NetControl.java):
“app”是处理所有接收到的新对象并处理它们的实例。
从应用程序(GameApp.java)(编辑:非抽象CardGameApp.java提供更大的上下文):
我已经在调试器中运行了这段代码,一次一步,它运行良好。当我正常运行它时,我得到一个空指针(输出如下:)
现在,我看到该对象被打印了两次,所以我知道它已被接收……但我得到一个空指针。
我在函数中间添加了一个睡眠函数:
并将其设置为睡眠一段时间,这一切终于奏效了。
知道为什么我需要像这样睡觉线程吗?有什么我应该做的不同的事情吗?我不确定为什么我能够在它仍然被认为是空的时候打印它。
编辑:添加了更多上下文。
java - 如何在 Serializable 实现中序列化绝对最小数量的数据?
我是新手Java.io.Serializable
,所以如果这是一个全新的问题,我深表歉意。我想要做的是实现readObject()
并且writeObject()
使得绝对最小的数据被序列化。我基本上只想写一些原语,没有关于对象身份的信息,也没有关于对象图的信息,因为在我的应用程序中,当我反序列化这个对象时,我会知道所有这些信息。我希望这是有道理的!对于这个问题的高级性质,我深表歉意,因为我对此很陌生,可能在这里没有正确的词汇。
java - 带有 ObjectInputStream 的 Android ClassNotFoundException
我正在尝试将对象从服务器应用程序发送到 android 客户端。所有的类都在同一个包中,并且在 Eclipse 的 src 文件夹中,包括导致 ClassNotFoundException: CardGame 的类。我是android新手,对java还很陌生,并且已经坚持了几天,所以我想知道是否有人能够帮助我找出问题所在......
这是导致问题的代码...
这是堆栈跟踪...
谢谢!
java - Java - 带有数组列表的二进制文件 I/O
我是 java 初学者,我在使用数组列表的二进制文件输入和输出时遇到问题。我正在尝试将数组列表中的数据存储在一个文件中,然后使用它在控制台中显示它。这是我的一些代码,它运行但显示错误信息,我也收到警告。对导致此问题的原因有任何帮助吗?谢谢!
在控制台中显示输出文件。
它应该显示如下内容:
但我得到了这个:
java - 为什么我的代码没有创建新文件?
这是我刚写的一堂课。以前它实际上在另一个应用程序中创建了一个文件。但不知何故,它不起作用。它没有创建新文件,我收到此错误:
错误:
哪里有问题?
java - 客户端 - 服务器 ObjectInputStream 错误
我的代码是这个
在 Gumoku_Graphics() 我调用这个类来执行与游戏服务器的连接
这是
并且每次它停止在“input = new ObjectInputStream(socket.getInputStream());” 它不能做到这一点,它卡在那里。它打印“socket ok”,“out ok”,然后卡在那里。有什么问题?我究竟做错了什么?
java - ObjectInputStream.readObject() 中的 ClassNotFoundException
我正在尝试将客户端应用程序传递的对象转换为服务器应用程序中相同类的对象。
我目前在服务器应用程序中收到的错误是:
服务器正在通过 Socket -> ObjectInputStream 接收对象。
所以我想知道你们是否可以帮助我将 client.User 类转换为我的 Server.User 类。唯一可行的是将包放在 1 个项目中,然后定义类的确切位置。
始终可以提供代码。
java - 从流中读取对象时出现 Java ClassNotFoundException
从 ObjectInputStream 读取对象时出现 ClassNotFoundException。正在发送的对象是读取代码引用的“WorkUnit”的子类。接收端似乎在抱怨,因为它不知道具体的实现。当我只在接收端引用对象的超类:“WorkUnit”时,它为什么会关心这个?
从 Stream 读取的代码:
工作单位实施:
发送工作单元的代码:
异常跟踪:
[NetworkHandler] 错误:无法正确读取对象