Иногда вам нужно, чтобы параметры вашего приложения можно было легко изменить, не касаясь исходного кода.
Когда у вас есть параметр в исходном коде, мы говорим, что он “жестко закодирован”. В этом случае, когда вам нужно изменить этот параметр, вам придется изменить свой код и скомпилировать его снова. Не было бы проще, если бы у нас был текстовый файл для хранения таких свойств, поэтому мы изменим этот файл вместо исходного кода?
Вот когда файлы свойств приходят на помощь!
В этом примере начните с этого класса JAVA, у которого есть параметр (название планеты).
Вы можете загрузить этот проект на github, создать новый проект или изменить класс нашего первого примера JAVA для следующего:
package lu.joaofaria.java.hello.properties;
public class HelloProperties {
private static String planetName = "Earth";
public static void main(String[] args) {
System.out.println("Hello " + planetName);
}
}
Если вы хотите поздороваться с “Марсом”, мы должны перейти к исходному коду, поэтому давайте изменим это поведение.
Сначала создайте в папке проекта файл с именем hello.properties. Для этого щелкните правой кнопкой мыши папку src >> создать>> файл.
Этот файл создан здесь, потому что, когда eclipse запускает вашу программу, она считывает содержимое этой папки как “папку выполнения”. Мы углубимся в пути к классам java в других статьях.
В этом файле вы добавите одну строку с вашим единственным свойством:
А теперь мы изменим код класса JAVA на следующий.
package lu.joaofaria.java.hello.properties;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class HelloProperties {
private static String planetName = null;
static {
try (InputStream input = new FileInputStream("hello.properties")) {
Properties prop = new Properties();
prop.load(input);
planetName = prop.getProperty("planet.name");
} catch (IOException ex) {
ex.printStackTrace();
}
}
public static void main(String[] args) {
System.out.println("Hello " + planetName);
}
}
Мы добавили статический блок, это означает, что он будет выполняться перед любым статическим методом (в данном случае, как ваш основной метод). И этот блок делает следующее.
попробуйте (входной поток FileInputStream (“привет.свойства”)) { Эта строка отвечает за чтение файла, ключевое слово “try” предназначено для обработки исключений, мы изучим это позже.
Свойства Свойства(); Теперь вы создали файл свойств, объект JAVA, который будет представлять реальный файл.
опора.нагрузка (вход); Эта команда заполняет объект JAVA свойствами, указанными в файле.
название планеты.getProperty(“planet.name “); И вот вы, наконец, читаете planet.name собственность.
} catch (исключение IOException ex) {например,printStackTrace();} и еще несколько кодов для обработки исключений.
Вот и все на сегодня, ребята, ваша программа JAVA настроена, я рекомендую вам протестировать ее дальше, добавить больше свойств, возможно, больше файлов, попробуйте ошибиться в имени файла, чтобы посмотреть, что произойдет, кодируйте и получайте удовольствие!
Оригинал: “https://dev.to/joaofelipefaria/configure-your-java-program-properties-file-3n71”