Kyrillische Schrift in Java einlesen

Aiwonnie

Mitglied
Hi!

Ich schreibe an einem Programm, das über eine Textdatei kyrillische Schriftzeichen einlesen und auf der GUI anzeigen soll.
Das hat bisher auch wunderbar geklappt, nur jetzt auf einmal (ohne dass ich etwas geändert hätte), funktioniert die Darstellung nicht mehr.
In der Textdatei sind die Zeichen nach wie vor so, wie sie sein sollen.

Leider kenne ich mich mit dem ganzen UTF und ISO-Kram nicht aus und weiß nicht, wie ich das Problem beheben könnte.

lg Yvonne

Nachtrag:
Das Programm läuft einwandfrei mit einer Textdatei ohne kyrillische Zeichen.
Aber sobald ich das Programm einmal mit den kyrillischen Zeichen laufen lasse, wird die erste Sounddatei im Programm nicht wiedergegeben. (der Rest schon). Das ändert sich dann auch nicht, wenn ich die Textdatei wieder durch die ersetze, mit der das Programm keine Probleme hatte...
Es macht auf mich echt den Eindruck, als würden die Zeichen das Programm so beschädigen, dass es nicht mehr läuft, egal was man danach macht (ich weiß ja, dass das nicht sein kann, aber selbst das gepackte Programm als jar-Datei wird "beschädigt").
Aber vorher hat immer alles geklappt... :-(
 
Zuletzt bearbeitet:
Die Methode, die die Datei einliest, sieht so aus:

Code:
public void readExperimentDescription(String filename) {

            try {
               BufferedReader in = new BufferedReader(new FileReader(filename));
               String str;

               while ((str = in.readLine()) != null) {

                String[] splitted = str.split(";",4);

               /* Vektor _wav_files enthaelt das erste Element der Datei (Dateiname),
                die Vektoren _sentences[123] den Satz, wie er in der Textdatei unterteilt wurde */
                _wav_files.addElement(splitted[0]);
                _sentences1.addElement(splitted[1]);
                _sentences2.addElement(splitted[2]);
                _sentences3.addElement(splitted[3]);

            }
            in.close();

            } catch (IOException e) {
            }
        }


lg Yvonne
 
Schau doch mal in deinem Editor nach mit welchem Zeichensatz du die Datei speicherst.

Dann verwendest du am Besten einen InputStreamReader mit dem Charset welches du herausgefunden hast, ansonsten wird das Defaultcharset vom System genommen. Bei Ubuntu ist das bei mir z.B. UTF-8 und unter Windows ISO-88591. Das macht schon einen großen Unterschied.

Java:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"charset"));
 
Zurück