2016-04-30 5 views
0

Map、特にLinkedHashMapをテキストファイルから読み書きするにはどうすればよいですか?私はIterableインターフェイスを使用しようとしましたが、マップとIterableが1つの引数しか取ることができないので、それは動作しません。LinkedHashMapをテキストファイルに書き込みますか?

マップコード:

Map<String, String> m1 = new LinkedHashMap<String, String>(16, 0.75f, true); 

m1.put("John Smith", "555-555-5555"); 
m1.put("Jane Smith", "444-444-4444"); 

私は、このテキストファイルに読み取り/書き込み、その後にのhasNext()メソッドのいくつかのバージョンを使用するのPrintWriter + BufferedWriterの/ PrintReader + BufferedReaderのオブジェクトを作成する必要があります知っていますファイルが終了するまで読んで、私はちょうどよく分からない。助けてください!

EDIT:私はマップをテキストファイルに書き込もうとしており、個々のエントリではなく、MapsのindexOf()メソッドがないので、このためにSerializableインターフェイスを使用することはできません。あなたはこのようなwriteObject()readObject()を使用することができます

+0

あなたは何か別のようなテキストファイルにすべての 'Key、value'を書き込もうとしていますか? – 3kings

+0

それは私がやろうとしていることです。もし私もマップ全体をテキストファイルに印刷することができればそれはうまくいくでしょう。 –

答えて

0

ファイルへのあなたの全体の地図を書き込もうとしているためではなく個々のエントリ:

Map<String, String> m1 = new LinkedHashMap<String, String>(16, 0.75f, true); 

m1.put("John Smith", "555-555-5555"); 
m1.put("Jane Smith", "444-444-4444"); 

//Write to file 
FileOutputStream fout = new FileOutputStream("file.out"); 
ObjectOutputStream oos = new ObjectOutputStream(fout); 
oos.writeObject(m1); 

//Read from file 
FileInputStream fin = new FileInputStream("file.out"); 
ObjectInputStream ois = new ObjectInputStream(fin); 
Map<String, String> m2 = (LinkedHashMap<String, String>) ois.readObject(); 

この情報がお役に立てば幸いです。

関連する問題