Moin moin,
wir sind jetzt in eine richtige Falle getappt. Seit JDK1.6.0_11 hat sich das UTF-8 Format geändert; siehe (1). Wir haben aber noch massig Files mit dem alten Format rum liegen. Diese wurden und werden unter 1.6.0_07 geschrieben(ca. 4500! Datenerfassungsstationen in Betrieb). Beim Versuch diese Dateien zu verarbeiten, sind wir bei ca. 15% der Files auf Probleme gestoßen(Hashes stimmen nicht, Entschlüsseln geht gar nicht). Der Datenimporter läuft auf 1.6.0_16 und 64bit. Als Schnellschuss läuft der jetzt vorläufig auf 1.6.0_07(32bit) und funktioniert. Wir sind auch 100%ig sicher, das die Formatänderung Ursache unserer Probleme ist. War schwer genug zu finden. Mir gefällt der Schnellschuss aber nicht wirklich, lieber wäre mir eine Möglichkeit Dateien im alten und neuen Format lesen zu können.
Der Datenfluss ist grob gesagt so:
String(enthält einen xml Klops) --> byte[] aus String.getBytes("UTF-8") --> FileOutputStream.write() --> Datei --> FileInputStream.read() --> byte[] -*-> new String(byte[], "UTF-8")
Bis zum * ist alles ok. Nur leider liefert der Konstruktor unter java >= 1.6.0_11 teilweise Mist. Morgen machen wir Tests, wie sich diverse Reader verhalten.
Ich habe schon gewühlt, aber noch nicht wirklich hilfreiches gefunden. Bin für jede Idee offen.
Grüße und vielen Dank
(1) Java SE 6 Update 11 Release Notes.
wir sind jetzt in eine richtige Falle getappt. Seit JDK1.6.0_11 hat sich das UTF-8 Format geändert; siehe (1). Wir haben aber noch massig Files mit dem alten Format rum liegen. Diese wurden und werden unter 1.6.0_07 geschrieben(ca. 4500! Datenerfassungsstationen in Betrieb). Beim Versuch diese Dateien zu verarbeiten, sind wir bei ca. 15% der Files auf Probleme gestoßen(Hashes stimmen nicht, Entschlüsseln geht gar nicht). Der Datenimporter läuft auf 1.6.0_16 und 64bit. Als Schnellschuss läuft der jetzt vorläufig auf 1.6.0_07(32bit) und funktioniert. Wir sind auch 100%ig sicher, das die Formatänderung Ursache unserer Probleme ist. War schwer genug zu finden. Mir gefällt der Schnellschuss aber nicht wirklich, lieber wäre mir eine Möglichkeit Dateien im alten und neuen Format lesen zu können.
Der Datenfluss ist grob gesagt so:
String(enthält einen xml Klops) --> byte[] aus String.getBytes("UTF-8") --> FileOutputStream.write() --> Datei --> FileInputStream.read() --> byte[] -*-> new String(byte[], "UTF-8")
Bis zum * ist alles ok. Nur leider liefert der Konstruktor unter java >= 1.6.0_11 teilweise Mist. Morgen machen wir Tests, wie sich diverse Reader verhalten.
Ich habe schon gewühlt, aber noch nicht wirklich hilfreiches gefunden. Bin für jede Idee offen.
Grüße und vielen Dank
(1) Java SE 6 Update 11 Release Notes.