2013-03-06 6 views
6

Wie Schlüssel und Wert aus der Eigenschaftendatei zu löschen? Meine Eigenschaftendatei hat diese Inhalte:Löschen Sie einen Eintrag aus der Eigenschaftendatei

key1=value1 
key2=value2 

habe ich den Code unten den Eintrag key2=value2 zu löschen. Danach, hat nun die Datei diese Werte:

key1=value1 
key2=value2 
Wed Mar 06 12:36:32 IST 2013 
key1=value1 

Java-Code einen Eintrag zu entfernen:

FileOutputStream out1 = new FileOutputStream(file, true); 
prop.remove(key); 
prop.store(out1,null); 

Was ist der Fehler ist, tue. So löschen Sie den gesamten Inhalt der Datei vor dem Schreiben.

+0

Versuchen 'neue Fileoutputstream (Datei, * falsch *)' –

+0

prüfen http://stackoverflow.com/questions/4225794/delete-key-and-value-from-a-property-Datei – Abi

+0

Öffnen Sie die Datei nicht im Append-Modus. –

Antwort

7

1) Die Eigenschaft Dateiinhalt soll wie folgt aussehen:

key1=value1 
key2=value2 

2) Sie die Datei im Append-Modus zu öffnen, das ist falsch. Es sollte sein:

new FileOutputStream(file); 

3) Schließen out1 ausdrücklich, Properties.store API:

Der Ausgangsstrom bleibt offen nach dieser Methode zurückgibt.

Wenn Sie nicht wollen, Properties.store verwenden, können Sie Eigenschaften schreiben direkt

PrintWriter pw = new PrintWriter("test.properties"); 
for(Entry e : props.entrySet()) { 
    pw.println(e); 
} 
pw.close(); 
+0

ya hab es dank .. – Rachel

+0

"prop.store (out1, null);" Ist das die einzige Möglichkeit, eine Eigenschaftendatei zu schreiben? – Rachel

+0

es ist eine speziell entworfene Methode zum Speichern von Eigenschaften, was das Besondere daran ist, dass es automatisch Zeichen in \ uxxxx Formmat konvertiert, wenn notwendig –