2011-01-14 10 views
2

プロパティのマップがあり、String表現が必要だとします。 toStringは{key = value、...}の形式でこれを購入します。このデータを電線で送信し、もう一方の端のマップに再解析する必要があります。データにコンマが含まれている可能性があるので、これを行う最善の方法は何ですか?マップを再解析するためのきれいな方法

また、私が完全に欠いている技術はありますか?ワイヤーを介してオブジェクトを送信することができれば、それはすばらしいことになります。私はRMIを避けたいと思います。

答えて

4

あなたはJava Serializationを使用していると考えましたか?

マップのキーと値がかなりシンプルな場合は、黄金色にする必要があります。 ObjectOutputStreamとObjectInputStreamはあなたを助けます。

サイズとスピードは非常に効率的ではありませんが、実装するのは非常に高速です。

編集:かなりシンプルで、私はSerializableを実装することを意味します。しかし、私はオブジェクトがかなりシンプルなオブジェクトであることも意味します。各オブジェクトがグラフやツリーのようなものである場合、シリアライゼーションは少し問題があります。

+0

"pretty simple"とは、 'Serializable'を実装することを意味しますか? (具体的にしてください) –

+0

これは素晴らしい解決策です。私はそれを考えなかったとは信じられないが、ありがとう! – Mike

1

または、ロード/保存メソッドを使用してプロパティとして送信します。

1

プロパティはシリアル化可能であるため、ObjectOutputStreamを使用するのが最もクリーンで簡単な解決方法です。 (すべての基本的なMap実装でも動作しますが、非直列化可能なマップがある場合は、常に同じ内容のHashMapを作成してシリアル化してください)

2

人が読みやすいだけでなく、読みやすさを考慮して、マップをシリアル化できる場合はJSONを使用することを検討してください。 JSONとの間でカスタムシリアル化を許可するためのGoogle GSONなど、いくつかのライブラリがあります。

関連する問題