Encoding Problem beim Einlesen einer txt Datei mit Umlauten

julianpe

Aktives Mitglied
Hallo,

mittels folgender Funktion lese ich eine .txt Datei ein und speichere dessen Inhalt in einen String:
Java:
import java.io.*;

public class ParseToString {
    String StrSpeisekarte = new String();  
  
       public String auslesen() {
          // Erzeuge ein File-Objekt
         
           String SavePath = new String();
           SavePath = DownloadFile.TempPath;
          File file = new File(SavePath);
                
          try {
             // FileReader zum Lesen aus Datei
             FileReader fr = new FileReader(file);
                     
             // Der String, der am Ende ausgegeben wird

             // char-Array als Puffer fuer das Lesen. Die
             // Laenge ergibt sich aus der Groesse der Datei
             char[] temp = new char[(int) file.length()];
                      
             // Lesevorgang
             fr.read(temp);
                      
             // Umwandlung des char-Arrays in einen String
             StrSpeisekarte = new String(temp);
                      
             //Ausgabe des Strings
             //System.out.println(StrSpeisekarte);
                      
             // Ressourcen freigeben
             fr.close();
          } catch (FileNotFoundException e1) {
             // die Datei existiert nicht
             System.err.println("Datei nicht gefunden: "
                                + file);
          } catch (IOException e2) {
             // andere IOExceptions abfangen.
             e2.printStackTrace();
          }
        return StrSpeisekarte;
       }
    }


Die eingelesene Datei hat Umlaute, diese werden jedoch falsch encodiert:

Beispiel:
Auszug der Textdatei (geöffnet mit Notepad ++)
Makkaroni in Sahne -Käse -Schinken -Sauce

Ausgabe des Strings:
Makkaroni in Sahne -Käse -Schinken -Sauce

Was muss ich in meinem Code noch ergänzen, dass Umlaute korrekt dargestellt werden können?
 

Neue Themen


Zurück
Oben