Apache commons Konfiguration lädt Eigenschaft bis "," Zeichen

8

Ich möchte die Konfiguration (Apache commons configuration) aus einer Eigenschaftendatei laden. Mein Programm ist:

%Vor%

In my.properties habe ich

%Vor%

mit Komma

Wenn ich ein Programm starte, ist die Ausgabe value , nicht value, with comma . Es sieht so aus, als wäre der Wert bis , character geladen.

Irgendwelche Ideen?

    
Tyler 10.06.2011, 13:54
quelle

5 Antworten

6

Überprüfen Sie Javadoc . Sie müssen DelimiterParsingDisabled (true) setzen, um die Parsingliste der Eigenschaften zu deaktivieren.

    
KrzyH 10.06.2011, 14:01
quelle
9

Dieses Verhalten ist klar dokumentiert , dh dass PropertiesConfiguration behandelt einen Wert mit einem Komma als mehrere Werte und erlaubt Dinge wie:

%Vor%

sinnvoll interpretiert werden. Der Fix (aus dem Dokument) besteht darin, einen Backslash hinzuzufügen, um das Komma zu umgehen, z. B.

%Vor%     
ig0774 10.06.2011 13:59
quelle
0

PropertiesConfiguration interpretiert ',' als Werttrennzeichen.

    
Karl-Bjørnar Øie 10.06.2011 14:00
quelle
0

Wenn Sie \ vor , setzen, können Sie es umgehen, und Sie können den Wert

lesen

Beispiel:

%Vor%

Sie haben gelesen = value, with comma ohne Probleme

    
WarsClon 28.06.2015 09:51
quelle
0

Tatsächlich funktioniert propConfig.setDelimiterParsingDisabled (true), aber Sie müssen die Konfigurationsdatei nach dieser Einstellung laden, zum Beispiel:

%Vor%

wenn Ihr Code wie folgt lautet:

propConfig = new PropertiesConfiguration (propertiesFile);         propConfig.setDelimiterParsingDisabled (true);

dann wird die Einstellung nicht funktionieren

    
kain 12.12.2017 09:22
quelle