【发布时间】:2011-01-14 00:15:23
【问题描述】:
假设我有一个属性映射,我想要一个字符串表示。 toString 以 {key=value, ...} 的形式购买。我需要通过电线发送这些数据并将其重新解析为另一端的 Map。考虑到数据中可能包含逗号,最好的方法是什么?
另外,还有其他我完全缺少的技术吗?如果我可以通过电线本身发送对象,那就太好了。不过,我想避免 RMI。
【问题讨论】:
标签: java parsing sockets serialization map
假设我有一个属性映射,我想要一个字符串表示。 toString 以 {key=value, ...} 的形式购买。我需要通过电线发送这些数据并将其重新解析为另一端的 Map。考虑到数据中可能包含逗号,最好的方法是什么?
另外,还有其他我完全缺少的技术吗?如果我可以通过电线本身发送对象,那就太好了。不过,我想避免 RMI。
【问题讨论】:
标签: java parsing sockets serialization map
您是否考虑过只使用 Java 序列化?
如果您的 Map 中的键和值非常简单,那么您应该是金子。 ObjectOutputStream 和 ObjectInputStream 会帮助你。
它在大小和速度方面并不是非常有效,但是实施起来非常快。
编辑:很简单,是的,我的意思是实现可序列化。但我也意味着对象是非常简单的对象。如果每个对象都是某种图或树,那么序列化可能会遇到更多问题。
【讨论】:
Serializable? (请具体)
或使用其加载/保存方法将其作为属性发送。
【讨论】:
由于属性是可序列化的,因此使用ObjectOutputStream 是最干净、最简单的解决方案。 (也适用于所有基本的 Map 实现,但如果您碰巧有一个不可序列化的地图,您总是可以创建一个具有相同内容的 HashMap 并对其进行序列化。)
【讨论】: