2013-03-06 12 views
6

Come eliminare chiave e valore dal file delle proprietà? Il mio file struttura dispone di questi contenuti:Eliminare una voce dal file di proprietà

key1=value1 
key2=value2 

ho usato il codice qui sotto per cancellare la voce key2=value2. Dopo di che, ora il file ha questi valori: codice

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

java per rimuovere una voce:

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

Qual è l'errore sto facendo. Come cancellare l'intero contenuto del file prima di scriverlo.

+0

Prova 'nuova FileOutputStream (file, * * falsa)' –

+0

Controllare http://stackoverflow.com/questions/4225794/delete-key-and-value-from-a-property-file – Abi

+0

Non aprire il file in modalità append. –

risposta

7

1) La proprietà contenuto del file dovrebbe apparire come segue:

key1=value1 
key2=value2 

2) Si sta aprendo il file in modalità accodamento, questo è sbagliato. Dovrebbe essere:

new FileOutputStream(file); 

3) Chiudere out1 esplicitamente, Properties.store API:

Il flusso di uscita rimane aperto dopo, questo metodo.

Se non volete usare Properties.store, è possibile scrivere direttamente Proprietà

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

ya capito grazie .. – Rachel

+0

"prop.store (out1, null);" è questo l'unico modo per scrivere un file di proprietà? – Rachel

+0

è un metodo appositamente progettato per il salvataggio delle proprietà, ciò che è speciale che converte automaticamente i caratteri in \ uxxxx formmat quando necessario –

Problemi correlati