Скачаем все необходимые библиотеки
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));
}
Дата добавления: 2016-01-07; просмотров: 1125;