Open Library - открытая библиотека учебной информации

Открытая библиотека для школьников и студентов. Лекции, конспекты и учебные материалы по всем научным направлениям.

Категории

Изобретательство Скачаем все необходимые библиотеки
просмотров - 179

ConfigLoader - доступен на сайте по адресу: http://configloader.sourceforge.net/index.php/Downloads файл configloader_*.jar.

Дополнительно нам понужнобится библиотека, реализующая SAX – simple api for XML. В мире java представлено множество подобных разработок, но для определœенности воспользуемся xerces – решением от сообщества apache.

Актуальную версию можно скачать здесь:

http://xerces.apache.org/xerces2-j/download.cgi.

Здесь Вам понужнобится файл - Xerces-J-bin.*.zip

На самом делœе в ходе выполнении лабораторной работы Вам не потребуется скачивать всœе эти библиотеки, для их получения крайне важно обратиться к преподавателю.

Для определœенности мы хотим, чтобы наш первый класс читал секцию mail из файла конфигурации: smtp, login и password; и выдавал эти данные на консоль. Создадим новый класс “Example1” в пакете “configartice”. Стоит сказать, что для начала нам крайне важно импортировать нужные классы, точнее класс:

import om.romanenco.configloader.ConfigLoader;

В самом телœе класса создадим метод main

public static void main(String[] args) {

...

...

}

Наши дальнейшие строки кода мы будем добавлять в тело этого метода. Первая наша строка – создание объекта͵ который и позволит нам удобно работать с конфигурациями.

ConfigLoader config = new ConfigLoader();

Следующим шагом будет загрузка самой конфигурации, сделать это тоже весьма просто:

config.LoadFromFile("xml/example1.xml");

Теперь самое интересное, нам нужно прочитать значения трех тегов smtp, login и password, которые вложены в тэги mail и config.

Код при этом прост:

System.out.println("Host = " +

config.getTagValue("config.mail.smtp"));

System.out.println("Username = " +

config.getTagValue("config.mail.login"));

System.out.println("Password = " +

config.getTagValue("config.mail.password"));

Не трудно заметить, как нам обратиться нужному тегу: нужно просто задать цепочку имен тегов, начиная от корневого и так до него нужного нам.

Полный текст нашего примера будет таким:

package configarticle;

import com.romanenco.configloader.ConfigLoader;

public class Example1 {

public static void main(String[] args) {

ConfigLoader config = new ConfigLoader();

config.LoadFromFile("xml/example1.xml");

System.out.println("Host = " +

config.getTagValue("config.mail.smtp"));

System.out.println("Username = " +

config.getTagValue("config.mail.login"));

System.out.println("Password = " +

config.getTagValue("config.mail.password"));

}

}

Как мы видим, подобный подход к оформлению конфигурационных файлов создает удобства и для разработчика, и для конечного пользователя.

Разработчик может использовать простой и надежный подход во всœех проектах, а пользователь (даже не высококвалифицированный) будет иметь возможность ясно настраивать приложение.

2.2. INI файл

Ini файлы - ϶ᴛᴏ простые текстовые файлами с расширением ini (в принципе можно и с любым другим). Ini файлы предназначены для хранения настроек программы.

Ini файлы разделœены на разделы, содержащие идентификаторы, которым, в свою очередь, можно присвоить значения. В общем виде структура ini файла такова:

 
[Раздел1] Идентификатор1=Значение1 Идентификатор2=Значение2 [Раздел2] Идентификатор1=Значение1 И т.д.

Выражение Идентификатор = Значение очень часто называют ключом.

Пример ini файла:

[LOGS Database Driver]

DriverName=oracle.jdbc.driver.OracleDriver

DataBaseURL=jdbc:oracle:thin:@192.168.0.245:1521:xionet

UserName=xiouser

Password=user

[LOGS Directories]

TempDirectory=c:\\Sqlarch\\

ArchiveDirectory=c:\\Sqlarch\\

ReserveDirectory=c:\\sqlarch\\

[LOGS System Info]

SystemInfoId=1

[Timeouts]

RetryTimeout=10

Для чтения данных из ini файла можно использовать класс java.util.Properties и его метод load. После создания экземпляра класса Properties (к примеру ini) и запуска его метода load можно получить имена полей (идентификаторов) и их значения следующим образом:

Enumeration e = ini.propertyNames() ;

while (e.hasMoreElements()) {

Object element=e.nextElement();

System.out.print(element+"=");

System.out.println(ini.getProperty((String)element));

}


Читайте также


  • - Скачаем все необходимые библиотеки

    ConfigLoader - доступен на сайте по адресу: http://configloader.sourceforge.net/index.php/Downloads файл configloader_*.jar. Дополнительно нам понадобится библиотека, реализующая SAX – simple api for XML. В мире java представлено множество подобных разработок, но для определенности воспользуемся xerces – решением от... [читать подробенее]