Лучший способ сохранить данные в приложении Java? - PullRequest
9 голосов
/ 05 февраля 2009

Я пытаюсь найти лучший способ сохранить состояние простого приложения. С точки зрения БД есть 4/5 таблиц с полями даты и отношениями вне курса.

Поскольку приложение простое, и я хочу, чтобы пользователь имел возможность перемещать данные (USB-ручка, Dropbox и т. Д.), Я хотел поместить все данные в один файл.

Каков наилучший способ / lib сделать это?

XML обычно является лучшим форматом для этого (удобочитаемость и открытость), но я не нашел большой библиотеки для этого без SAX / DOM.

Ответы [ 4 ]

12 голосов
/ 05 февраля 2009

Если вы хотите использовать XML, взгляните на XStream для простой сериализации объектов Java в XML. Вот "Двухминутный учебник" .

Если вам нужно что-то простое, стандартный формат Java Properties также может быть способом хранения / загрузки небольших данных.

1 голос
/ 05 февраля 2009

рассмотрите возможность использования простых аннотаций JAXB, поставляемых с JDK:

@XmlRootElement  
private class Foo {  
    @XmlAttribute  
    private String text = "bar";
}

вот мой блог-пост , в котором дается более подробная информация об этом простом использовании JAXB (в нем также упоминается более «классный» подход на основе JAXB - в случае, если вам нужен лучший контроль над вашим XML схема, например, для обеспечения обратной совместимости)

0 голосов
/ 11 мая 2012

Если вам не нужно предоставлять семантическое значение вашим данным, то XML, вероятно, является неправильным выбором. Я бы порекомендовал использовать обезжиренную альтернативу JSON , которая гораздо более естественно построена для структур данных.

0 голосов
/ 05 февраля 2009

2 других варианта, которые вы могли бы рассмотреть -

  • Hsqldb - это небольшой sql db, написанный на Джава. Более актуально для вашего целей, он может быть настроен на просто напишите в CSV-файл, как это хранилище данных, чтобы вы могли предположительно использовать его вывод текста как портативный хранилище данных и по-прежнему использовать sql, если это то, что вы предпочитаете.
  • Второй вариант - написать хранилище данных напрямую в сериализованный подать напрямую или через библиотека вроде превайлера. Отлично производительность и простота реализации, минусы - хрупкость и непрозрачность формат.

Но если данные достаточно малы, xml, вероятно, гораздо меньше беспокоит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...