Auf Thema antworten

Hallo,


mittels folgender Funktion lese ich eine .txt Datei ein und speichere dessen Inhalt in einen String:

[code=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;

       }

    }

[/code]



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?



Oben