Я сериализую хэш-карту в своем Java-коде и записываю ее в файл. При десериализации файл содержит более одного значения, но возвращает только верхнюю часть самой пары ключей и значений. Может ли кто-нибудь сказать мне, почему? Вот мой Java-код для десериализации:Deserialization hashmap in java
public static void main(String[] args) throws IOException, ClassNotFoundException {
HashMap<String, String> data = new HashMap<Integer, String>();
ObjectInputStream in = new ObjectInputStream(new FileInputStream("F:\\f.txt"));
data = (HashMap<String, String>) in.readObject();
for (Map.Entry entry : data.entrySet()) {
System.out.println("key" + entry.getKey());
System.out.println("value" + entry.getValue());
}
}
Вот мой код сериализации
public class SerializeObject implements Serializable {
public static void main(String[] args) throws IOException, ClassNotFoundException
{
HashMap<String,String> map = new HashMap<String,String>();
map.put("Monday","first");
map.put("Tuesday","Second");
map.put("Wednesday","Third");
FileOutputStream fout=new FileOutputStream("F:\\f.txt",true);
ObjectOutputStream out=new ObjectOutputStream(fout);
out.writeObject(map);
out.flush();
}
}
После десериализации он возвращает только понедельник и первый
Какой код вы используете для сериализации? Каково содержимое f.txt? Исправьте форматирование. –
Выполнение десериализации после сериализации работает отлично ... Также ключ вашей карты переключается с String на Integer ?! –
Привет ... извините, это моя ошибка – wazza