Я работаю над игровым проектом на Java, и мне нужно сохранить файл config.ini
где-то, кроме исполняемого jar
. Я знаю, что люди обычно сохраняют их внутри AppData
в Windows, но я бы хотел, чтобы моя игра полностью переносилась без ограничений ОС. Но для этого мне нужно было бы знать, где хранить такой файл.Альтернативы AppData (Windows) при хранении файлов на другой ОС
Я хотел бы знать, где люди обычно хранят такие файлы в других операционных системах UNIX, в основном Ubuntu или Macintosh (OS X).
Я также был бы признателен, если бы вы могли объяснить мне немного больше о каталогах относительно таких ОС, поскольку у меня нет ни одной из этих систем. Я имею в виду, например, что в Windows люди обычно бросают свои приложения на свои рабочие столы, а пользователи Mac помещают их в папку «Приложения». В случае с Mac, создание папки внутри этого каталога приложения будет так же плохо, как создание папки на рабочем столе Windows?
Кроме того, в случае Ubuntu, где будет размещен эквивалент AppData на Windows? А как насчет случая с Максом? Сохраняли бы скриншоты игры или создавали бы save игры внутри AppData
или эквиваленты были бы плохой идеей? Я действительно не хочу использовать обычный каталог Program Files
.
И, наконец, более кодовая проблема. Я знаю, что в Java вы можете получить AppData расположение окна и конкатенации такой путь, как код ниже:
Path FOO = Paths.get(System.getenv("AppData"), "BAR");
насчет Mac и Ubuntu? И как я смогу проверить, использует ли пользователь Windows или Ubuntu?
Thank you very much, -Renato
Вы считали API Java Preferences? http://docs.oracle.com/javase/1.4.2/docs/guide/lang/preferences.html (для части config.ini вопроса, а не для сохранения игр). – Thilo
Ну, я действительно не знаком с Java Preference API. Дело в том, что я хочу, чтобы пользователь действительно мог редактировать файл 'config.ini' удобным для пользователя способом, как это обычно бывает при работе с играми AAA. Я уже готов файл 'config.ini', а также мини-язык, который проверяет конфигурации, написанные в таком файле, и применяет их к игре. Кроме того, как вы упомянули, сохранить игры все равно нужно будет где-то хранить. Но все равно спасибо! –