2016-04-21 22 views
1

私は2つのファイル - write.javaread.javaを持っています。 write.javaファイルはハッシュテーブルをテキストファイルに書き込み、read.javaの関数はハッシュテーブルをテキストファイルから読み込むことです。java - テキストファイルからハッシュテーブルを読み取る

write.java:

Hashtable hash1 = new Hashtable(); 
hash1.put("1", "Hi!"); 

FileWriter fileWriter = new FileWriter("abc.txt"); 
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); 
bufferedWriter.write(hash1.toString()); 
bufferedWriter.close(); 

これは、テキストファイルに書き込みますperoperly。今度はread.javaがこのハッシュテーブルをabc.txtから読み込み、もう一つのキー値を支払う必要があります。これを達成する最良の方法は何ですか?

read.java:

String dnstemp = "abc.txt"; 
FileReader fileReader = new FileReader(dnstemp); 
BufferedReader bufferedReader = new BufferedReader(fileReader); 
String line = bufferedReader.readLine(); 
bufferedReader.close(); 

しかしline変数は、さらに操作を実行するためにハッシュテーブルに変換する方法を...文字列のですか?

+2

スタックオーバーフローはコード作成サービスではありません。 – Natecat

+1

'toString()'を使ってマップを書いてはいけません。解析するのは難しいでしょう。それはあなた自身が書いてみてください。あなたのキーと値が両方ともStringであれば、Propertiesクラスを調べるべきです。もう一つの良い選択肢は、そこにある多くのライブラリの1つを使用してJSONとしてマップをシリアライズすることです。 – dnault

+0

私の質問を更新@Natecat – hnvasa

答えて

0

ハッシュテーブルの代わりにプロパティを使用します。それは読み込みと格納の能力を持っています

+0

あなたはコードスニッパーで詳細を教えていただけますか? – hnvasa

0

他の人が言及したように、あなたは実際にはtoString()出力からそれを再構築すべきではありません。あなたがグアバでそれを達成する方法は次の通りです:

関連する問題