/
ProjectEroxa
/
NetworkChat
Обзор
Документация
Войти
/
ProjectEroxa
/
NetworkChat
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/chat/common/Settings.java
68 строк
2 KB
Evgeniy Eroshkin
first_commit
07 окт 2025, 16:51
07 окт 2025, 16:51
57192a3
Код
Авторство
О чём код?
package chat.common; import java.io.*; import java.util.Properties; /** * Класс для работы с настройками приложения * Загружает настройки из файла и предоставляет к ним доступ */ public class Settings { private Properties properties; // Хранилище свойств private String filename; // Имя файла с настройками /** * Конструктор класса Settings * * @param filename имя файла с настройками */ public Settings(String filename) { this.filename = filename; this.properties = new Properties(); loadSettings(); // Загружаем настройки при создании объекта } /** * Загружает настройки из файла * Если файл не найден, использует значения по умолчанию */ private void loadSettings() { try (InputStream input = new FileInputStream(filename)) { // Загружаем свойства из файла properties.load(input); } catch (IOException e) { // Если файл не найден, устанавливаем значения по умолчанию properties.setProperty("port", "12345"); properties.setProperty("server_host", "localhost"); properties.setProperty("log_file", "file.log"); System.out.println("Файл настроек не найден, используются значения по умолчанию"); } } /** * Возвращает порт из настроек * * @return номер порта */ public int getPort() { return Integer.parseInt(properties.getProperty("port", "12345")); } /** * Возвращает хост сервера из настроек * * @return адрес сервера */ public String getServerHost() { return properties.getProperty("server_host", "localhost"); } /** * Возвращает имя файла для логирования * * @return имя лог-файла */ public String getLogFile() { return properties.getProperty("log_file", "file.log"); } }