Я пишу программу переводчика, которая читает переводы из текстового файла. Этот метод читается из текстового файла и добавляет его в объект Map, который я использую для словаря.Java readLine() не работает должным образом
public Map<String, String> loadTranslations() throws IOException {
Map<String, String> translations = new HashMap<String, String>();
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(System.getProperty("user.dir") + "\\resource\\translations.txt"));
englWord = in.readLine();
frenWord = in.readLine();
translations.put(englWord, frenWord);
System.out.println(englWord + "\n" + frenWord + "\n" + translations);
} catch(Exception e) {
JOptionPane.showMessageDialog(this, "An Error Occured!", "Error!", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
} finally {
in.close();
}
JOptionPane.showMessageDialog(this, "Updated!", "", JOptionPane.INFORMATION_MESSAGE);
return translations;
}
Но всякий раз, когда я запускаю его, вместо того, чтобы печатать слова из текстового файла, он печатает это;
潮攍ੵ渍ੴ睯ഊ摥畸ഊ瑨牥攍ੴ牯楳ഊ景畲ഊ煵慴牥ഊ晩癥ഊ捩湱ഊ獩砍ੳ楸ഊ獥癥渍ੳ数琍楧桴ഊ桵楴ഊ湩湥ഊ湥畦ഊ瑥渍楸
null
{潮攍ੵ渍ੴ睯ഊ摥畸ഊ瑨牥攍ੴ牯楳ഊ景畲ഊ煵慴牥ഊ晩癥ഊ捩湱ഊ獩砍ੳ楸ഊ獥癥渍ੳ数琍楧桴ഊ桵楴ഊ湩湥ഊ湥畦ഊ瑥渍楸=null}
В текстовом файле перечислены первые десять букв на английском и французском языках, поэтому выход должен быть чем-то вроде;
one
un
{one=un}
Как исправить это?
Это определенно ошибка Java. –