Hallo,
Ich habe ein kleines Problem, zu dem es bestimmt eine leichte Lösung gibt :bae: :
Aus einer Datenbank lese ich ein ByteArray ein und will es in einem String speichern, ohne dass es umgewandelt wird. Ich will die Daten nämlich in einem XML-Dokument speichern und dann wieder genauso in eine Datenbank zurückschreiben. Aber Funktionen wie toString() oder new String(byte[]) wandeln die Bytes immer in Chars um ...
Hier der Codeschnipsel:
Ich will also in einem String namens thisValue so etwas wie: 0x340x220x71 ... zu stehen haben und nicht die übersetzten Chars.
Problem soweit klar?
Dann schreibt mal, wenn es nicht ZU einfach ist
Doreen
PS an die Mods: Wenn diese Frage besser zum Thema XML oder Datenbanken passt, dann schiebt es ruhig dahin
Ich habe ein kleines Problem, zu dem es bestimmt eine leichte Lösung gibt :bae: :
Aus einer Datenbank lese ich ein ByteArray ein und will es in einem String speichern, ohne dass es umgewandelt wird. Ich will die Daten nämlich in einem XML-Dokument speichern und dann wieder genauso in eine Datenbank zurückschreiben. Aber Funktionen wie toString() oder new String(byte[]) wandeln die Bytes immer in Chars um ...
Hier der Codeschnipsel:
Code:
// Falls die Spalte von Typ BLOB, LONGVARBINARY oder LONGVARCHAR ist, die Daten als
// ByteStream auslesen.
if(typNr == Types.BLOB || typNr == Types.LONGVARBINARY || typNr == Types.LONGVARCHAR){
InputStream auxStream = rs.getBinaryStream(currentColName);
int bytesAnz = auxStream.available();
byte[] buf = new byte[bytesAnz];
auxStream.read(buf);
thisValue = new String(buf);
}
Ich will also in einem String namens thisValue so etwas wie: 0x340x220x71 ... zu stehen haben und nicht die übersetzten Chars.
Problem soweit klar?
Dann schreibt mal, wenn es nicht ZU einfach ist
Doreen
PS an die Mods: Wenn diese Frage besser zum Thema XML oder Datenbanken passt, dann schiebt es ruhig dahin