Итак, я пытаюсь заставить мою программу выводить текстовый файл со списком имен. Некоторые имена имеют странные символы, такие как Åström.
Я взял этот список имен с веб-страницы, которая закодирована в "UTF-8", или, по крайней мере, я уверен, что это так, потому что источник страницы говорит
"meta http-equ =" Content-Type "content =" text / html; charset = UTF-8 "/"
Это то, что я пробовал до сих пор:
public static void write(List<String> list) throws IOException {
Writer out = new OutputStreamWriter(new FileOutputStream("test.txt"), "UTF-8");
try {
for (int i=0;i<list.size();i++) {
try {
byte[] utf8Bytes = list.get(i).getBytes("UTF-8");
out.write(new String(utf8Bytes, "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
out.write(System.getProperty("line.separator"));
}
}
finally {
out.close();
}
}
и я немного запутался, почему это не работает. Вывод, который я получаю, - «Стрим», что очень странно.
Может кто-нибудь указать мне правильное направление? Спасибо!
И еще одно замечание: есть ли более простой способ записать новую строку в текстовый файл, кроме громоздкого
out.write (System.getProperty ( "line.separator"));
что у меня есть? Я где-то видел это онлайн, и оно работает, но мне было просто интересно, есть ли более чистый путь.