2016-06-03 26 views
0

Mein Projekt muss eine Textdatei lesen, die in UTF-8 codiert ist. Wenn ich mein Programm in NetBeans starte, ist alles in Ordnung und die Zeichen werden korrekt aus der Datei gelesen. Aber wenn ich mein .exe verpacktes Programm laufe, sind die Charaktere nicht, was sie sein sollten.Kann die UTF-8-Datei nach dem Packen des JavaFX-Projekts nicht lesen

Mein Code:

BufferedReader br = new BufferedReader(new FileReader("D:\\sa\\shlah.txt")); 
String s = br.readLine(); 

Antwort

0
BufferedReader br1 = new BufferedReader(
       new UTF8Reader(new FileInputStream(shlahFile))); 

obigen Code verwendet UTF8reader, die sogar seine Arbeit tun, wenn Sie das Programm verpackt haben.

+0

Sie könnten gingen UTF8Reader zu vermeiden, da es immer eine Warnung, dass es sich um eine interne api und kann in Zukunft entfernt werden – user4790067

0

Ich denke, es ist ein Problem mit anderen Standard-Kodierungen ...

die Codierung angeben zu verwenden, sollte das Problem zu beheben. Dies ist möglich, ohne externe Bibliotheken von Files.newBufferedReader mit:

BufferedReader br = Files.newBufferedReader(new File("D:\\sa\\shlah.txt").toPath(), StandardCharsets.UTF_8);