Prefs.putByteArray tut nicht

Hallo !

Ich habe ein kleines Programm, mit dem ich via

prefs.putByteArray einen String in einen Registry-Schlüssel schreiben will (prefs ist vom Typ Preferences), mit den anderen Methoden wie putBoolean klappt das auch ganz gut.

Der gesamte Code sieht ungefähr so aus:

byte [] bytes = fileName.getBytes ();
prefs.putBoolean( „generate“, checkedGenerate );
prefs.putByteArray ( „filename“, bytes );

putBoolean klappt, aber putByteArray schreibt nur irgendwelchen Müll in die Registry, das Drumherum, also Schlüssel und so, klappt prima.

Frage: was mache ich falsch?

Danke
Abraxas

Hallo,

byte [] bytes = fileName.getBytes ();
prefs.putBoolean( „generate“, checkedGenerate );
prefs.putByteArray ( „filename“, bytes );

putBoolean klappt, aber putByteArray schreibt nur
irgendwelchen Müll in die Registry

Preferences prefs = Preferences.userRoot().node( "/de/wer-weiss-was/java" ); 
String s = "Hello World!";
prefs.putByteArray("byteArray", s.getBytes());

byte[] readBytes = prefs.getByteArray("byteArray", new byte[0]);
System.out.println(new String(readBytes));

Liefert bei mir das erwaretete Ergebnis. Die Daten werden Base64 kodiert abgelegt, aus Hello World! wird also SGVsbG8gV29ybGQh
http://java.sun.com/javase/6/docs/api/java/util/pref…

Zusätzlich steht bei mir im Registry Editor vor jedem Großbuchstaben ein Slash, ob dafür Java oder Windows verantwortlich ist weiß ich nicht.

Gruß
Heavy

Danke,
aber das wars irgendwie noch nicht. Es wäre mir auch egal, was genau in der Registry steht, aber das was in der Registry steht, bekomme ich auch wieder zurück, also nicht meinen Originaltext.

Abraxas