Пишу программу на Java и возникла потребность хранить данные на подобии последнего введенного имени пользователя и выбранного пользователем пути для скачки файлов. По сути всего 2 переменные которые надо сохранить "User" и "С:\Program Files". Использовать какие-то базы данных здесь вообще нет смысла, сохранять данные в какой-то файл тоже как-то не очень, ведь данных очень мало + файл придётся сохранять в том месте, куда укажет сам пользователь, то есть "С:\Program Files" сюда, в общем тоже бред какой-то.
Как лучше всего хранить данные в Java, чтоб после закрытия программы они никуда не терялись, буду благодарен вашим советам и отдельное спасибо, если покажите какие-то примеры реализации.
А как вы делаете не на Java? На python? На c/с#/c++?
В общем-то это не зона ответственности языка программирования - хранить данные. Вы как программист сами решаете как и куда что положить.
Вариантов не много и вы 2 из них упомянули - файл и база данных.
Другие варианты - это другие хранилища, посложнее чем файл, например, реестр Windows, если вас это интересует. Ну и дальше можно только усложнять. Сетевые хранилища, Redis
В linux на диск вряд пи получится писать куда-то, кроме папки пользователя, и тут выбор очевиден.
В общем нашел выход в виде сохранения данных в реестре. Применять такой метод для сохранения большого обьема крайне не рекомендуется, т.к. будет кушать много оперативной памяти. Сохранить 2-3 переменные можно спокойно, на оперативной памяти это никак не скажется.
Пример использования:
import java.util.prefs.Preferences;
public class Test extends JFrame {
public Test() {
Preferences user = Preferences.userRoot();
user.put("key", "value"));
System.out.println(user.get("key", "default value"));
// "default value" выведет если ключ "key" не найден.
}
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости