Читать курсовая по информатике, вычислительной технике, телекоммуникациям: "Java: Средства построения отчётов для Java-приложений" Страница 7

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

section,String line)

{

int equalIndex = line.indexOf("=");

if( equalIndex > 0 )

{

String name = section+'.'+line.substring(0,equalIndex).trim();

String value = line.substring(equalIndex+1).trim();

iniProperty.put(name,value);

}

}

public String getProperty(String section,String var,String def)

{

return iniProperty.getProperty(section+'.'+var,def);

}

public int getProperty(String section,String var,int def)

{

String sval = getProperty(section,var,Integer.toString(def));return Integer.decode(sval).intValue();

}

public boolean getProperty(String section,String var,boolean def)

{

String sval = getProperty(section,var,def ? "True":"False");

return sval.equalsIgnoreCase("Yes") || sval.equalsIgnoreCase("True");

}

}

Файлы Properties.

Этот формат распространён в Unix-мире. Он ещё проще ini-файлов, т.к. в нём отсутствует понятие секций - всё состоит из ключей и значений. Пример типичного файла:

# Database configuration

Database.Driver=sun.jdbc.odbc.JdbcOdbcDriver

Database.DataURL=jdbc:odbc:MyDatabase

Database.Prop.user=user

Database.Prop.password=password

В Java есть готовый класс для чтения/записи таких файлов (java.util.Properties), но с ним есть некоторые проблемы. Во первых для чтения невозможно задать кодировку файла, а это означает проблемы с русскими буквами. Во вторых стандартная функция записи сохраняет данные в порядке следования хэш-значений ключей, что значит - как ей больше понравится. Но это тоже легко разрешимо - достаточно написать свою читалку/писалку.

XML-файлы.

Этот формат подходит для многих целей, в том числе и для хранения настроек. XML-формат ориентирован на древовидные структуры, что довольно естественым образом отображается на объекты. Пример типичного файла:

user

password

Для чтения и записи таких файлов предназначены специальные библиотеки - так называемые XML-парсеры. Таких парсеров уже сделано довольно много, так что писать его самому нет большого смысла - достаточно лишь подобрать подходящий. Для парсеров было разработано два стандартных программных интерфейса - событийный (SAX) и иерархический (DOM). Есть также и парсеры со своим интерфейсом. Размер jar-а с парсером может варьироваться от нескольких килобайт до мегабайта - в зависимости от поддерживаемых интерфейсов и возможностей.

Для XML также написано несколько библиотек для универсального сохранения (сериализации) объектов в файлах XML. Такие библиотеки позволяют отделить алгоритм сохранения от самого объекта, а это, как уже упоминалось, имеет много плюсов.

Сериализация.

Под термином "сериализация" понимают запись содержимого объекта в поток двоичных данных. Обычно имеется в виду универсальный алгоритм, реализуемый классами java.io.ObjectOutputStream и java.io.ObjectInputStream. Пользоваться ими просто настолько, насколько это вообще возможно - обычно достаточно лишь отметить в классе поддержку при помощи интерфейса Serializable и отметить ключевым словом transient те поля объекта, которые сохранять не нужно. Собсно и всё. :-) Пример:

public class SerialObject implements java.io.Serializable

{

private String name;

private transient int state;

public SerialObject() {}

public SerialObject(String n) { name = n; }

public String getName() { return name; }

public void setState(int s) { state = s; }

}

Запись объектов:

SerialObject o = ...;

OutputStream os = ...;

ObjectOutputStream oos = new ObjectOutputStream(os);

oos.writeObject(o);

Чтение объектов:

InputStream is = ...;

ObjectInputStream ois = new ObjectInputStream(is);

SerialObject o = (SerialObject)ois.readObject();

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


Похожие работы

 
Тема: Разработка меню, технологической и нормативной документации для диетической столовой реабилитационного центра для диетической столовой реабилитационного центра для больных с сердечнососудистой патологией
Предмет/Тип: Другое (Курсовая работа (т))
 
Тема: Использование двухступенчатого обратного осмоса для получения воды для инъекций. Требования GMP к получению и хранению воды для инъекций
Предмет/Тип: Другое (Контрольная работа)
 
Тема: Жить нужно не для себя и не для других, а со всеми и для всех Федоров
Предмет/Тип: Русский язык культура речи (Сочинение)
 
Тема: Жить нужно не для себя и не для других, а со всеми и для всех По роману Толстого Война и мир
Предмет/Тип: Русский язык культура речи (Сочинение)
 
Тема: Методические рекомендации для студентов очно-заочной и заочной форм обучения Тематика рефератов для студентов очной формы обучения и контрольных работ для студентов заочной формы обучения
Предмет/Тип: Другое (Реферат)

Интересная статья: Основы написания курсовой работы