Ну, BufferedWriter
и BufferedReader
кодируют агностик - они никогда не имеют дело с реальными кодировками, поскольку они просто буферизуют существующих читателей и писателей.
Теперь FileWriter
и FileReader
используют системную кодировку по умолчанию (urgh). Чтобы обойти это, вы обычно должны использовать пару InputStream
/ InputStreamReader
или OutputStream
/ OutputStreamWriter
(возможно, заключенную в BufferedReader
/ BufferedWriter
) и явно указывать кодировку.
Вы не сказали, что вы на самом деле читаете - это файл? Вы знаете кодировку файла?