Мы можем записать Хеш-таблицу в файл?

У меня есть a Hashtable<string,string>, в моей программе я хочу записать значения Хеш-таблицы для обработки позже.

Мой вопрос: мы можем записать объектный Hastable в файл? Если так, как мы можем позже загрузить тот файл?

11
задан martin clayton 26 September 2012 в 21:06
поделиться

3 ответа

Да, с использованием двоичной сериализации ( ObjectOutputStream ):

FileOutputStream fos = new FileOutputStream("t.tmp");
ObjectOutputStream oos = new ObjectOutputStream(fos);

oos.writeObject(yourHashTable);
oos.close();

Затем вы можете прочитать его, используя ObjectInputStream

Объекты, которые вы помещаете в Hashtable (или лучше - HashMap ) должны реализовывать Serializable


Если вы хотите сохранить Hashtable в удобочитаемом формате, вы можете использовать java.beans. XMLEncoder :

FileOutputStream fos = new FileOutputStream("tmp.xml");
XMLEncoder e = new XMLEncoder(fos);
e.writeObject(yourHashTable);
e.close();
9
ответ дан 3 December 2019 в 08:03
поделиться

Не знаю о вашем конкретном приложении, но вы можете взглянуть на класс свойств . (Он расширяет hashmap.)

Этот класс предоставляет вам

 void load (InputStream inStream) 
Считывает список свойств (пары ключей и элементов) из входного байтового потока. 
void load (Reader reader) 
Считывает список свойств (пары ключей и элементов) из потока входных символов в простом строчно-ориентированном формате. 
void loadFromXML (InputStream in) 
Загружает все свойства, представленные XML-документом в указанном входном потоке, в эту таблицу свойств. 
void store (Writer writer, String comments) 
Записывает этот список свойств (пары ключей и элементов) в эту таблицу свойств. Таблица свойств в выходной поток символов в формате, подходящем для использования метода load (Reader). 
void storeToXML (OutputStream os, String comment) 
Испускает XML-документ, представляющий все свойства, содержащиеся в эта таблица. 
 

Учебник также весьма познавательный.

5
ответ дан 3 December 2019 в 08:03
поделиться

Если вы хотите иметь возможность легко редактировать карту после того, как она записана, вы можете взглянуть на jYaml . Он позволяет легко записывать карту в файл в формате Yaml, что означает, что его легко читать и редактировать.

1
ответ дан 3 December 2019 в 08:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: