Чтение и запись файла свойств в приложении Java Swing - PullRequest
3 голосов
/ 12 марта 2012

У меня есть задание для создания java-приложения Swing для работы с базой данных mysql. Я планировал установить свойства соединения с базой данных в файле .properties.В этом приложении пользователь должен иметь возможность изменять свойства базы данных через приложение.У меня проблема в том, как читать и записывать файл свойств через приложение Swing.

try {
            Properties prop = new Properties();
//reading properties
            FileInputStream in = new FileInputStream("conf/properties.xml");
            prop.loadFromXML(in);           
            System.out.println(prop.getProperty("driver"));
            in.close();

//Writing properties
FileOutputStream out = new FileOutputStream("conf/properties.xml");
prop.setProperty("username", "root");
prop.storeToXML(out, "rhym");
out.close();

        } catch (Exception e) {
            e.printStackTrace();
        }

XML-файл ..

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
    <comment>database configuration</comment>
    <entry key="driver">com.mysql.jdbc.Driver</entry>
    <entry key="ip">127.0.0.1</entry>
    <entry key="port">3306</entry>
    <entry key="database">ofm_mnu_jvs</entry>
    <entry key="username">user1</entry>
    <entry key="password">123789</entry>
</properties>

Ответы [ 3 ]

4 голосов
/ 12 марта 2012

Для меня это звучит как упражнение по разработке программы:)

Во-первых, вам нужно написать код, который может обрабатывать сохраняющийся объект Java Properties на диск и извлекать Properties с диска. Вы можете сделать это разными способами, но лучше всего использовать синтаксис Java Properties для сохранения содержимого объекта Properties в редактируемый пользователем текстовый файл. Ваш парсер просто должен быть достаточно умен, чтобы понять, как читать текст из файла обратно в объект Properties, но на самом деле это не так сложно сделать.

Как только ваша программа сможет правильно читать / записывать синтаксис свойств Java из файлов, вы можете написать свой пользовательский интерфейс для работы только с Properties экземплярами объекта. Пользовательский интерфейс может указать вашим объектам / методам персистентности сохранять экземпляр Properties каждый раз, когда пользователь изменяет поле или значение.

Суть в том, что наиболее важно выяснить, как разбить эту программу на более мелкие части. С таким же успехом вы могли бы написать набор монолитного кода, который напрямую сохранит ваши файлы свойств из ActionListeners в Swing, но ни один из этого кода не будет использоваться повторно. Разбейте ваш код на более мелкие объекты (объект Parser, объект пользовательского интерфейса), затем сосредоточьтесь только на этих меньших частях, по одному, пока вы не сможете заставить их работать вместе для достижения вашей цели.

3 голосов
/ 12 марта 2012

Вы не читаете / не пишете Properties через приложение Swing.Вы просто читаете / пишете Properties, как если бы вы делали это в любом приложении Java (и это описано в классе javadoc класса Properties)

Как только вы прочитаетеФайл .properties в объект Properties, вы можете создать пользовательский интерфейс для настройки этого экземпляра Properties.Например, когда запись представляет логическое значение, вы можете использовать флажок в пользовательском интерфейсе и обновлять экземпляр Properties, когда пользователь переключает выбранное состояние флажка.

2 голосов
/ 12 марта 2012

http://www.java -tips.org / Java-се-советы / java.util / как для чтения и записи-а-свойства-file.html или Google Загрузить файл свойств в Java.

На самом деле чтение файла свойств будет сделано, это ваш метод. Так что это совсем не зависит от Swing. Просто прочитайте / загрузите данные свойств в любую из ваших коллекций, а затем выполните любые методы Swing или компоненты Swing, чтобы извлечь их и отобразить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...