Создал пустой .txt и сохранил его в UTF-8 кодировке. При чтении файла в массив байтов, через FileInputStream читается три байта [-17, -69, -65]. Что это за байты? И почему они считываются если файл пустой? Даже когда в файле есть текст, читаются эти три байт, а потом байты текста. Если сохранить файл с кодировкой по умолчанию ("ANSI"), он действительно пустой. Доп байтов нет. Тогда второй вопрос. Как из него считать кириллицу или перекодировать в UTF-8?