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?