#java #xml #persistence #store
#java #xml #сохранение #Магазин
Вопрос:
Я разрабатываю настольное приложение на Java среднего размера без использования базы данных. Я использую xml, сериализуемые объекты и т.д. для хранения данных пользователя / приложения, но каково правильное расположение для сохранения этих файлов (независимо от системы)?
Комментарии:
1. На мой взгляд, правильное расположение — это база данных.
Ответ №1:
Если вы действительно не хотите хранить их в базе данных, взгляните на Preferences API, он не зависит от платформы.
Ответ №2:
Почему вы не используете базу данных? Используйте базу данных файловой системы (например, hsqldb) и уровень объектно-реляционного отображения. Вероятно, вам даже не нужно будет писать файл сопоставления любого вида или произвольно делать ваши классы сериализуемыми.
Храните данные в %APPDATA%/appName
Windows и, возможно ~/.appName
, в Linux. User/Library/Application/appName
может работать на компьютерах Mac.
Комментарии:
1. Вопрос все равно будет тем же, где вы храните файлы hsqldb.
2. …нет? Вы храните данные там, где, по словам выбранной вами операционной системы, приложения хранят данные.
3. В этом случае будет то же самое, используете ли вы (локальную) базу данных или нет. Хотя большинству API, будь то база данных или файлы, которые вы создаете самостоятельно, требуется путь в качестве входных данных, и вопрос в том, как вы получаете этот путь из программы Java.
Ответ №3:
В большинстве, если не во всех, операционных системах существует концепция домашнего каталога, в котором в конечном итоге оказывается множество скрытых каталогов конфигурации той или иной формы. Вы могли бы создать скрытый каталог в домашнем каталоге пользователей и хранить там свои файлы конфигурации / данных.
Комментарии:
1. Это возможное решение, но я думаю, что не самое лучшее. В Unix это часто делается, но если вы работаете с Windows, в домашнем каталоге есть .Appdata-directory.