В наше время почти в каждом проекте используются различные статические файлы и данные, необходимые классам для безопасного и быстрого доступа. Примером таких конфигурационных файлов являются так называемые Файлы свойств, более известные как *.properties.
.properties — файловое расширение для файлов, которые используются в основном в технологиях Java для хранения конфигурационных параметров программы. Они также могут использоваться для хранения переменных строчной типа для локализации; они известны как Property Resource Bundles.
Каждый параметр сохраняется парой двух переменных строчной типа, одна сохраняет имя параметра (так называемый ключ), а другой сохраняет значение. Каждая строка файла .properties, как правило, хранит значения одного параметра. Несколько форматов являются допустимыми для .properties, в том числе ключ = значение, ключ: значение и сам ключ.
.properties файлы могут использовать знак решетки (#) или восклицательный знак (!) как первый, не пустой символ в строке для обозначения последующего текста в качестве комментария.
Например работы с .properties в Java
Для начала подготовим среду для работы и создадим проект (Рисунок 1):
Рисунок 1 — Пример проекта на Maven — очень удобно и функционально
Теперь посмотрим на структуру созданного проекта (Рисунок 2):
Рисунок 2 — Структура нашего проекта для работы с properties
Как видим, в папке Resources уже есть файл под названием config.properties. Вам нужно будет его создать вручную и наполнить данными, а именно (Рисунки 3-4):
Рисунок 3 — Создание файла путем нажатия ПКМ на папке resources -> New -> File
Рисунок 4 — Вводим название файла с расширением properties в появившемся диалоге и нажимаем ОК
Далее прописываем необходимые ключи и значения, как на рисунке 5:
Рисунок 5 — Файл с необходимыми параметрами
Пример обращения к файлу properties
Ниже представлена программа, демонстрирующая обращение к нашему конфигурационному файлу:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
package ua.com.prologistic.prop; import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; public class Props { //путь к нашему файлу конфигураций public static final String PATH_TO_PROPERTIES = "src/main/resources/config.properties"; public static void main(String[] args) { FileInputStream fileInputStream; //инициализируем специальный объект Properties //типа Hashtable для удобной работы с данными Properties prop = new Properties(); try { //обращаемся к файлу и получаем данные fileInputStream = new FileInputStream(PATH_TO_PROPERTIES); prop.load(fileInputStream); String site = prop.getProperty("site"); String loginToSite = prop.getProperty("login"); String passwordToSite = prop.getProperty("password"); //печатаем полученные данные в консоль System.out.println( "site: " + site + "\nloginToSite: " + loginToSite + "\npasswordToSite: " + passwordToSite ); } catch (IOException e) { System.out.println("Ошибка в программе: файл " + PATH_TO_PROPERTIES + " не обнаружено"); e.printStackTrace(); } } } |
Пример выполнения программы (Рисунок 6)
Рисунок 6 — Вывод хранимых статических данных в консоль c файла config.properties
Вот и все. Теперь вы научились создавать и получать (load) данные с файлов конфигураций.
Почему .save @Deprecated ? на русских сайтах не нашёл информации.