Я хочу прочитать конкретное значение из LinkedHashMap, записанное в файле .txt, но показывает «java.io.StreamCorruptedException: недопустимый заголовок потока: 7B495020»
Для записи в LinkedHashMap я попробовал метод;
public void WriteBasicInfo(String name, String pass) throws IOException, ParseException {
Map<String, String> m;
try {
m = new LinkedHashMap<String, String>();
m.put("Name", name);
m.put("Password", pass);
BufferedWriter bw = new BufferedWriter(new FileWriter(FILE_NAME, false));
bw.write(m.toString());
bw.flush();
bw.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
И он успешно записывает в файл.Но когда я пытаюсь прочитать вышеуказанную хэш-карту, используя этот метод
public void readBasicInfo() throws IOException, ParseException, InvocationTargetException, ClassNotFoundException
{
ObjectInputStream is = new ObjectInputStream(new FileInputStream(FILE_NAME));
Map<String, String> myMap=(LinkedHashMap<String, String>) is.readObject();
for(Map.Entry<String,String> m :myMap.entrySet()){
System.out.println(m.getKey()+" : "+m.getValue());
// String val1=m.get("Name");
}
ois.close();
}
, он показывает «java.io.StreamCorruptedException: неверный заголовок потока: 7B495020», и никакие данные не читаются
Iпопытался прочитать все записи, записанные в hashmap, чтобы проверить, читает ли он или нет;но на самом деле я просто хочу, чтобы запись «name», доступная только для чтения, сохранялась в hashmap.