Inhalt mit Umlauten aus Textdatei einlesen, wie?

DarthShader

Erfahrenes Mitglied
Hallo,

ich lese eine Textdatei ein, in der Umlaut vorkommen. Die Kodierung der Textdatei ist "U8-UNIX", das ist die Anzeige von UltraEdit32. Ich nehme mal an das bedeutet UTF-8 Encoding mit Unix Zeilenenden.

Das Einlesen passiert so:

Java:
BufferedReader br = new BufferedReader( new InputStreamReader( in ) );
while ( ( line = br.readLine() ) != null )
  sb.append( line + "\n" );
			
return sb.toString();

wobei "in" ein FileInputStream und "sb" ein StringBuilder ist.

(Den Weg über den InputStreamReader muss ich nehmen, da ich von einer anderen Klasse, auf die ich keinen Einfluss habe, nur einen InputStream zurück bekomme.)

Wenn ich nun aber den String ausgebe, dann werden die Umlaute nicht korrekt dargestellt, bzw. die Umlaute sind nicht mehr als solche im String vorhanden, sondern sind durch die verschiedensten Zeichenkombinationen ersetzt (z.B. "ä" wird zu "ä").

Ich bin schon immer in Sachen Zeichenkodierung ins Schleudern gekommen, kann mir vielleicht jemand sagen, wie ich die Zeichen korrekt einlese, sodass auch die Umlaute (bzw. Unicode) erhalten bleibt?
 
Moin!
Schau dir doch mal den InputStreamReader in der API an. Dann siehst du, das per Konstruktor die Kodierung angeben werden kann!

*grüssle*
MeinerEiner
 
Zurück