Fehler beim Speichern

Dox

Mitglied
Hallo alle zusammen,

habe da ein kleines Problem mir dem Speichern von Properties. Ich möchte nehmlich gerne zu einem Schlüssel eine Zeitangabe Speichern in etwa so " 34:45, soweit kein Problem bis auf das vor einem Doppelpunkt ":" ein Backslash "\" in die Datei reingeschrieben wird das sieht dann so aus "D5 = 09\:00" .

Wie kann ich das verhindern ?

Ich hoffe es gibt dafür ein Lösung.

Gruß Willi
 
Hallo!

Leider kann man an diesem verhalten nichts ändern (zumindest nicht so ohne weiteres), da es sich um ein Standardverhalten der API handelt umd Spezielle Zeichen Plattformübergreifend darzustellen. Dazu wird eben hier in deinem Beispiel das : Zeichen mit einem \ Escaped.

Das ist aber nicht weiter tragisch, da Java beim Laden wieder eine Rückkonvertierung in das "ursprüungliche" Format vornimmt.

Beispiel:

Code:
package de.tutorials;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;

public class Test19 {

	public static void main(String[] args) {
		Properties props = new Properties();

		SimpleDateFormat sdf = new SimpleDateFormat("HH:MM");
		String str = sdf.format(new Date());

		props.put("time", str);

		try {
			props.store(new FileOutputStream("c:/time.properties"), null);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		props = new Properties();
		try {
			props.load(new FileInputStream("c:/time.properties"));
			System.out.println(props.get("time"));
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		} catch (IOException e1) {
			e1.printStackTrace();
		}

	}
}

Gruß tom
 
Zurück