Hallo,
ich versuche mich gerade daran, eine UTF-8 Datei auszulesen, und zwar so:
Die Text-Datei habe ich mit Notepad erstellt, ich hab's aber auch mal mit Ultraedit probiert - beides mal als UTF8 gespeichert, sieht im HEX auch gleich aus (s.u.).
Nun zur eigentlich Frage: Bei der Ausgabe der gelesenen Zeile steht immer ein ? vor dem eigentlichen Inhalt. Andere CharSets haben zum einlesen auch keinen Erfolg gebracht. Muss man das Fragezeichen von Hand abschneiden?
HEX sieht meine Datei so aus: FF FE 53 00 E4 00 67 00 65 00
(Heisst einfach Säge )
Was ich auch nicht ganz verstehe: Wenn ich mit einem OutputStreamWriter das ganze da oben umdrehe und die Datei aus Java schreiben, fehlen die beiden FF FE Bytes am Anfang bzw. die 00-Bytes......
Gruss, Jens
ich versuche mich gerade daran, eine UTF-8 Datei auszulesen, und zwar so:
Code:
FileInputStream fis = new FileInputStream("c:/testutf8.txt");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader brr = new BufferedReader(isr);
System.out.println(brr.readLine());
brr.close();
Die Text-Datei habe ich mit Notepad erstellt, ich hab's aber auch mal mit Ultraedit probiert - beides mal als UTF8 gespeichert, sieht im HEX auch gleich aus (s.u.).
Nun zur eigentlich Frage: Bei der Ausgabe der gelesenen Zeile steht immer ein ? vor dem eigentlichen Inhalt. Andere CharSets haben zum einlesen auch keinen Erfolg gebracht. Muss man das Fragezeichen von Hand abschneiden?
HEX sieht meine Datei so aus: FF FE 53 00 E4 00 67 00 65 00
(Heisst einfach Säge )
Was ich auch nicht ganz verstehe: Wenn ich mit einem OutputStreamWriter das ganze da oben umdrehe und die Datei aus Java schreiben, fehlen die beiden FF FE Bytes am Anfang bzw. die 00-Bytes......
Gruss, Jens