|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.jsystems.tools.ini.IniFileReader
Liest Ini-Dateien ein und trennt die einzelnen Parameter nach Sektionen.
Dabei wird der Inhalt der Datei in einer Pseudotabelle abgelegt mit der folgenden Struktur:
+--[SECTION1]
| |
| +KEY1=VALUE1
| +KEY2=VALUE2
| +KEY3=VALUE3
|
+--[SECTION2]
| |
| +KEY1=VALUE1
| +KEY2=VALUE2
| +KEY3=VALUE3
|
usw.
Kommentare(=Zeilen, die mit '#' oder ';' anfangen) werden entweder zu der folgenden Section
oder zum folgenden KEY/VALUE-Paar gespeichert. Diese Kommentare können auch wieder
ausgelesen werden, da die Sections bzw. die Werte in Item-Klassen gespeichert werden.
Ein Kommentar darf allerdings nicht am Ende einer Zeile stehen, da er hier als Teil des
Wertes zu einem Parameter verstanden wuerde.
Einer erzeugten Instanz des IniFileReader kann eine neue zu lesende Datei übergeben werden.
In diesem Falle wird der alte Inhalt aus dem Objekt gelöscht. Eventuell vorgenommene Änderungen
in der Struktur werden nicht gespeichert. Es sollte also vorher die Methode save()
aufgerufen werden, bevor die Methode setFile(...)
aufgerufen wird.
Falls der als String übergebene Datenamen nicht existiert, wird eine entsprechende Datei angelegt.
Da diese leer ist, können natürlich keine Werte ausgelesen werden, diese müssen erst hinzugefügt werden.
Der IniFileReader verfügt über drei verschiedene Modi:
addParam(...)
hinzugefügt werden, muß die zugehörige Section existieren.
Wenn Parameter mit getParamValue(...)
gelesen werden, muß die Section oder der Parameter existieren.
addParam(...)
hinzugefügt werden und die zugehörige Section nicht existiert, dann wird die Section angelegt.
Wenn Parameter mit getParamValue(...)
gelesen werden und die Section oder der Parameter nicht existieren, dann werden sie angelegt.
save()
nicht gespeichert werden.
Das ist nur über die Methode save(java.io.File)
oder save(String)
moeglich. Hier muss dann auf alle Fälle ein anderer
Dateiname angegeben werden als der Name unter dem die Datei geoeffnet wurde.
Mit der Klasse kann erst dann gearbeitet werden wenn eine Datei eingelesen wurde. Dazu muss diese Datei
gesetzt worden sein. Das geschieht entweder beim erzeugen der Klasse ueber den Konstruktor oder spaeter
ueber die Methode setFile(...)
. Solange noch keine Datei eingelesen wurde loest jede Methode,
die Daten in der INI-Datei aendert, eine IllegalStateException
aus.
Die Methoden sind nicht Thread-Save!
Field Summary | |
static int |
NONRESTRICTIVE
Parameter und Sectionen können auch beim lesen angelegt werden. |
static int |
READONLY
Die Datei kann nicht unter dem gleichen Namen gespeichert werden. |
static int |
RESTRICTIVE
Es wird nur gelesen was es gibt. |
Constructor Summary | |
IniFileReader()
Initialisiert die Klasse. |
|
IniFileReader(File file)
Initialisiert die Klasse mit der angegebenen Datei. |
|
IniFileReader(File file,
int modus)
Initialisiert die Klasse mit der angegebenen Datei. |
|
IniFileReader(String filename)
Initialisiert die Klasse mit der angegebenen Datei. |
|
IniFileReader(String filename,
int modus)
Initialisiert die Klasse mit der angegebenen Datei. |
Method Summary | |
void |
addParam(String section,
String param,
String value)
Fügt zu der angegebenen Section einen neuen Parameter mit dem angegebenen Wert hinzu. |
void |
addParam(String section,
String param,
String value,
StringBuffer comment)
Fügt zu der angegebenen Section einen neuen Parameter mit dem angegebenen Wert und dem angegebenen Kommentar hinzu. |
void |
addSection(String section)
Fügt der Datei eine neue Section hinzu. |
void |
addSection(String section,
StringBuffer comment)
Fügt der Datei eine neue Section hinzu. |
boolean |
existParam(String section,
String param)
Prüft, ob es in einer Section mit dem übergebenen Namen einen Parameter mit dem übergebenen Namen gibt. |
boolean |
existSection(String sectionName)
Prüft, ob es eine Section mit dem übergebenen Namen gibt. |
int |
getModus()
Gibt den Modus des IniFileReader zurück(RESTRICTIVE, NONRESTRICTIVE, READONLY). |
StringBuffer |
getParamComment(String section,
String param)
Gibt den Kommentar zum spezifizierten Parameter zurück. |
Iterator |
getParamNames(String section)
Gibt alle Parameter zurück die in der spezifizierten Section vorhanden sind. |
String |
getParamValue(String section,
String param)
Ließt einen Parameter aus der spezifizierten Sektion aus. |
String |
getParamValue(String section,
String param,
String defaultValue)
Ließt einen Parameter aus der spezifizierten Sektion aus. |
StringBuffer |
getSectionComment(String section)
Gibt den Kommentar zur spezifizierten Section zurück. |
Iterator |
getSectionNames()
Gibt die Namen aller vorhandenen Sektionen zurück. |
protected void |
readFile()
Ließt die Datei ein und speichert die einzelnen Parameter unter ihrer zugehörigen Sektion. |
void |
removeParam(String section,
String param)
Löscht den angegebenen Parameter aus der angegebenen Section. |
void |
removeSection(String sectionName)
Löscht die angegebene Section aus der Inidatei. |
void |
save()
Speichert die gelesene Datei wieder unter dem gleichen Namen mit allen Parametern. |
void |
save(File file)
Speichert die INI-Datei in der uebergebenen Datei. |
void |
save(String filename)
Speichert die INI-Datei unter dem uegergebenen Namen ab. |
void |
setFile(File file)
Ließt die angegebene Datei ein. |
void |
setFile(File file,
int modus)
Ließt die angegebene Datei ein. |
void |
setFile(String filename)
Ließt die angegebene Datei ein. |
void |
setFile(String filename,
int modus)
Ließt die angegebene Datei ein. |
void |
setParamComment(String section,
String param,
StringBuffer comment)
Setzt den Kommentar zum spezifizierten Parameter. |
void |
setParamValue(String section,
String param,
String value)
Ändert den Wert des angegebenen Parameters in der angegebenen Section. |
void |
setSectionComment(String section,
StringBuffer comment)
Setzt den Kommentar zur spezifizierten Section. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int RESTRICTIVE
public static final int NONRESTRICTIVE
public static final int READONLY
Constructor Detail |
public IniFileReader(String filename) throws IOException, IniFileFormatException
IllegalArgumentException
ausgelöst.
filename
- Der Name der zu lesenden Inidatei inklusive kompletten Pfad.
IOException
- Wenn beim einlesen der Datei ein Fehler auftritt.
IniFileFormatException
- Wenn das Format der einzulesenden Datei nicht korrekt ist.public IniFileReader(String filename, int modus) throws IOException, IniFileFormatException
IllegalArgumentException
ausgelöst.
filename
- Der Name der zu lesenden Inidatei inklusive kompletten Pfad.modus
- Der Modus für den IniFile Reader(RESTRICTIVE oder NONRESTRICTIVE).
IOException
- Wenn beim einlesen der Datei ein Fehler auftritt.
IniFileFormatException
- Wenn das Format der einzulesenden Datei nicht korrekt ist.public IniFileReader(File file) throws IOException, IniFileFormatException
file
- Ein Fileobjekt, das die zu lesende Inidatei darstellt.
IOException
- Wenn beim einlesen der Datei ein Fehler auftritt.
IniFileFormatException
- Wenn das Format der einzulesenden Datei nicht korrekt ist.public IniFileReader(File file, int modus) throws IOException, IniFileFormatException
file
- Ein Fileobjekt, das die zu lesende Inidatei darstellt.modus
- Der Modus für den IniFile Reader(RESTRICTIVE oder NONRESTRICTIVE).
IOException
- Wenn beim einlesen der Datei ein Fehler auftritt.
IniFileFormatException
- Wenn das Format der einzulesenden Datei nicht korrekt ist.public IniFileReader()
setFile(...)
geschehen.
Solange die Datei nicht gelesen ist können keine Parameter ausgelesen werden.
Der Modus wird in diesem Falle über setFile(...)
gesetzt.
Method Detail |
public void setFile(String filename) throws IOException, IniFileFormatException
IllegalArgumentException
ausgelöst.
filename
- Der Name der einzulesenden Datei inklusive Pfad.
IOException
- Wenn beim einlesen der Datei ein Fehler auftritt.
IniFileFormatException
- Wenn das Format der einzulesenden Datei nicht korrekt ist.public void setFile(String filename, int modus) throws IOException, IniFileFormatException
IllegalArgumentException
ausgelöst.
filename
- Der Name der einzulesenden Datei inklusive Pfad.modus
- Der Modus für den IniFile Reader(RESTRICTIVE, NONRESTRICTIVE, READONLY).
IOException
- Wenn beim einlesen der Datei ein Fehler auftritt.
IniFileFormatException
- Wenn das Format der einzulesenden Datei nicht korrekt ist.public void setFile(File file) throws IOException, IniFileFormatException
file
- Ein File-Objekt, das die einzulesende Datei repräsentiert.
IOException
- Wenn beim einlesen der Datei ein Fehler auftritt.
IniFileFormatException
- Wenn das Format der einzulesenden Datei nicht korrekt ist.public void setFile(File file, int modus) throws IOException, IniFileFormatException
file
- Ein File-Objekt, das die einzulesende Datei repräsentiert.modus
- Der Modus für den IniFile Reader(RESTRICTIVE, NONRESTRICTIVE, READONLY).
IOException
- Wenn beim einlesen der Datei ein Fehler auftritt.
IniFileFormatException
- Wenn das Format der einzulesenden Datei nicht korrekt ist.public int getModus()
protected void readFile() throws IOException, IniFileFormatException
setFile(String)
eine neue Datei angegeben wurde, wird der
Inhalt der vorher gelesenen Datei gelöscht ohne das die Änderungen gespeichert werden.
IOException
- Wenn beim einlesen der Datei ein Fehler auftritt.
IniFileFormatException
- Wenn das Format der einzulesenden Datei nicht korrekt ist.public void save(String filename) throws IOException, ReadOnlySaveException
ReadOnlySaveException
ausgeloest, wenn versucht wird unter dem ursprünglichen Namen zu speichern.
filename
- Der Name unter dem die INI-Datei gespeichert werden soll.
IOException
- Wenn ein Fehler beim speichern auftritt.
ReadOnlySaveException
- Wenn versucht wird unter dem ursprünglichen Namen zu speichern.public void save(File file) throws IOException, ReadOnlySaveException
file
- Die Datei in der die INI-Datei gespeichert werden soll.
IOException
- Wenn ein Fehler beim speichern auftritt.
ReadOnlySaveException
- Wenn versucht wird unter dem ursprünglichen Namen zu speichern.public void save() throws IOException
IllegalStateException
ausgeloest.
IOException
- Wenn beim speichern ein Fehler auftritt.public String getParamValue(String section, String param)
IllegalStateException
ausgeloest.
section
- Die Section, aus der der Parameter gelesen werden soll.param
- Der Parameter, dessen Wert gelesen werden soll.
public String getParamValue(String section, String param, String defaultValue)
IllegalStateException
ausgeloest.
section
- Die Section, aus der der Parameter gelesen werden soll.param
- Der Parameter, dessen Wert gelesen werden soll.defaultValue
- Der Defaultwert.
public void setParamComment(String section, String param, StringBuffer comment)
IllegalStateException
ausgeloest.
section
- Der Name der Section.param
- Der Name des Parameters.
public StringBuffer getParamComment(String section, String param)
IllegalStateException
ausgeloest.
section
- Der Name der Section.param
- Der Name des Parameters.
public StringBuffer getSectionComment(String section)
IllegalStateException
ausgeloest.
section
- Der Name der Section.
public void setSectionComment(String section, StringBuffer comment)
IllegalStateException
ausgeloest.
section
- Der Name der Section.comment
- Der neue Kommentar zur Section.public Iterator getSectionNames()
IllegalStateException
ausgeloest.
public Iterator getParamNames(String section)
IllegalStateException
ausgeloest.
section
- Der Name der Sektion.
public void addSection(String section)
IllegalStateException
ausgeloest.
section
- Der Name der neuen Section.public void addSection(String section, StringBuffer comment)
IllegalStateException
ausgeloest.
section
- Der Name der neuen Section.comment
- Der Kommentar zur Section.public void addParam(String section, String param, String value)
IllegalStateException
ausgeloest.
section
- Der Name der Section.param
- Der Name des Parameters.value
- Der Wert des Parameters.public void addParam(String section, String param, String value, StringBuffer comment)
IllegalStateException
ausgeloest.
section
- Der Name der Section.param
- Der Name des Parameters.value
- Der Wert des Parameters.comment
- Der Kommentar zum Parameter.public void setParamValue(String section, String param, String value)
IllegalStateException
ausgeloest.
section
- Der Name der Section.param
- Der Name des Parameters.value
- Der Wert des Parameters.public void removeSection(String sectionName)
IllegalStateException
ausgeloest.
sectionName
- Der Name der zu löschenden Section.public void removeParam(String section, String param)
IllegalStateException
ausgeloest.
section
- Der Name der Section.param
- Der Name des zu löschenden Parameters.public boolean existSection(String sectionName)
public boolean existParam(String section, String param)
false
zurückgegeben.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |