假设我有一个属性Map,我想要一个String表示。 toString
以{key = value,...}的形式购买此内容。我需要通过电线发送这些数据并将其重新分析到另一端的Map中。考虑到数据中可能包含逗号,最好的方法是什么?
此外,还有其他任何我完全缺失的技术吗?如果我可以通过电线本身发送物体,这将是一个美妙的。不过,我想避免使用RMI。
答案 0 :(得分:4)
您是否考虑过使用Java序列化?
如果地图中的键和值非常简单,那么你应该是金色的。 ObjectOutputStream和ObjectInputStream将帮助你。
它的大小和速度并不是非常高效,但实现起来非常快。
编辑:非常简单,是的,我的意思是实现Serializable。但我也意味着对象是非常简单的对象。如果每个对象都是某种图形或树形,那么序列化会产生更多问题。
答案 1 :(得分:2)
答案 2 :(得分:1)
或使用其加载/保存方法将其作为属性发送。
答案 3 :(得分:1)
由于Properties是可序列化的,因此使用ObjectOutputStream是最简洁,最简单的解决方案。 (也可以使用所有基本的Map实现,但如果你碰巧有一个不可序列化的地图,你总是可以创建一个具有相同内容的HashMap并将其序列化。)