Файлы конфигурации в Java - PullRequest
3 голосов
/ 07 ноября 2011

Я создал приложение Swing-GUI, содержащее такие поля, как TextFields, Labels, CheckBoxes и ComboBoxes.Когда пользователь вводит некоторую информацию, я хочу, чтобы сведения о текстовых полях, выпадающих списках и флажках были сохранены в файл, и в следующий раз, когда пользователь откроет это окно, я хочу, чтобы детали, которые были сохранены в файле, т.е.которые были введены пользователем в прошлый раз для загрузки в графический интерфейс.Может кто-нибудь помочь мне в этом?Я надеюсь, что вы понимаете вопрос, если нет, я объясню более подробно.

Заранее большое спасибо.

Ответы [ 4 ]

6 голосов
/ 07 ноября 2011

Вот простой пример использования пакета java.util.prefs :

// Retrieve the user preference node for the package com.mycompany
Preferences prefs = Preferences.userNodeForPackage(com.mycompany.MyClass.class);

// Preference key name
final String PREF_NAME = "name_of_preference";

// Set the value of the preference
String newValue = "a string";
prefs.put(PREF_NAME, newValue);

// Get the value of the preference;
// default value is returned if the preference does not exist
String defaultValue = "default string";
String propertyValue = prefs.get(PREF_NAME, defaultValue); // "a string"

Способ сохранения настроек зависит от ОС.В Windows он будет использовать реестр.

Примеры использования: http://www.exampledepot.com/egs/java.util.prefs/pkg.html

1 голос
/ 07 ноября 2011

Самый простой способ - использовать java.util.Properties, который может хранить свое содержимое в файле (свойства или в формате xml).

Если вам нужно больше, вы можете использовать XML.Вы можете либо генерировать и анализировать его самостоятельно (используя DOM или SAX), либо лучше использовать API более высокого уровня (например, JaxB).

Вы также можете использовать пакет конфигурации Список можно продолжить ...

0 голосов
/ 07 ноября 2011

Если вам нужна какая-то структура в ваших файлах конфигурации и вам не нравится формат плоских свойств Java или грязные теги XML, рассмотрите возможность использования JSON, который является очень хорошим и чистым форматом для хранения любых типов данных.http://json.org/java/

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

0 голосов
/ 07 ноября 2011

Если файлы конфигурации не нужно редактировать с помощью текстового редактора, просто сериализовать вашу конфигурацию в файл и десериализовать ее, когда вам нужно ее прочитать.

В противном случае посмотрите Propertiesкласс, который позволяет записывать пары ключ-значение в виде файлов свойств или XML.Возможно, вам придется выполнить какое-то преобразование из строки в нужное вам значение, то есть myproperty=true вернет строку "true" для ключа myproperty, и вам нужно будет разобрать ее в логическое значение.

...