Добрый день. Читаю статью "Разница между абстрактными классами и интерфейсами". По тому примеру решил сделать тест. Создал MyFile.txt файл с текстом (кодировка UTF-8). В программе написал считывание этого файла и запись посимвольно в ArrayList, который потом вывел в консоль. Проблема в том, что РУ буквы оно выводит непонятными символами. Подскажите пожалуйста в чем дело.
Код
private static ArrayList<Character> listBIS = new ArrayList<Character>();
public static void main(String[] args) throws Exception, RuntimeException {
String path = "/Desktop/MyFile.txt";
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(path));
while (bis.available() > 0) {
char c = (char) bis.read();
listBIS.add(c);
}
listBIS.forEach(System.out::print);
}
Сам файл MyFile.txt
Допустим
у
нас
есть
файл
с
такой вот строкой
Переписали существуюший без вопросов
I know, maybe English is better for it
But still you need to handle Russian
letters as well! Cause I'll find you and
beat your soft butt.
Что выводит в консоль:
ÐопÑÑÑим
Ñ
наÑ
еÑÑÑ
Ñайл
Ñ
Ñакой Ð²Ð¾Ñ ÑÑÑокой
ÐеÑепиÑали ÑÑÑеÑÑвÑÑÑий без вопÑоÑов
I know, maybe English is better for it
But still you need to handle Russian
letters as well! Cause I'll find you and
beat your soft butt.
Process finished with exit code 0