Java - куда поместить данные приложения? - PullRequest
1 голос
/ 07 ноября 2011

Я пишу Java-приложение, для которого требуется несколько файлов ресурсов (будет около 100 файлов по 20-40 КБ каждый).Они не редактируются пользователем, но потребуют периодических обновлений (в приложении будет функция для проверки изменений в файлах ресурсов и их загрузки).В идеале приложение должно быть кроссплатформенным.

Разрешение на запись в подкаталог каталога программы обычно не одобряется.Если бы я делал это как приложение для Windows, я мог бы поместить их в Application Data, но это не будет кроссплатформенным.Что было бы лучшим местом для их размещения?

Ответы [ 3 ]

1 голос
/ 07 ноября 2011

Обычно я создаю каталог (имя, начинающееся с точки ".") В домашнем каталоге пользователя (System.getProperty("user.home"), если я не ошибаюсь) и использую его для хранилища для конкретного приложения. Кроме того, вы можете взять имя каталога у пользователя во время установки приложения.

1 голос
/ 07 ноября 2011

Имеется каталог, в котором вы храните эти файлы. Поместите эту информацию в файл конфигурации свойств.При запуске загрузите файл конфигурации из каталога установки приложения.Из этого файла свойств он говорит вам, где найти каталог вашего файла.Когда ваш установщик запускается, он может записать этот файл конфигурации для платформы, на которую вы устанавливаете, и это может зависеть от ОС.

0 голосов
/ 07 ноября 2011

Укажите настраиваемое расположение, но по умолчанию используется каталог в домашнем каталоге пользователя или в определенном для ОС месте.

Вам придется иметь дело с этим в зависимости от платформы, несмотря ни на что. У вас есть несколько вариантов под OS X, хотя. Для unix-подобных систем - домашний каталог или что-то под /var.

Тем не менее, я не считаю, что программа, управляющая своими собственными данными в своем собственном каталоге, - это плохо; рассмотрим программу со встроенной базой данных или аналогичную. Гораздо надежнее использовать домашний каталог приложения.

...