Кодировка текста - забавная вещь . Если вы пишете код, который будет интерпретироваться как закодированные символы , компилятору нужно сообщить (или он может предположить), как должны быть организованы байты для представления определенных символов. Если ваша программа не зависит от кодировки файлов, с которыми вы будете работать, то как вы собираетесь указать компилятору, как он должен интерпретировать массив байтов в этом файле?
Вы могли бы рассмотреть чтение символов как поток байтов вместо потока символов , если вы не знаете, как дать команду компилятору интерпретировать эти байты (т.е. не знаю, какая кодировка будет использоваться во время выполнения). В этом случае вы должны надеяться, что любые основные символы, выбранные вами для добавления в начало файла, могут быть универсально распознаны в любой кодировке; Это потому, что вы будете добавлять байтов , а не символов в начало файла.