WAT? Возможно, я просто неправильно понял задание. Мне казалось, что в данном случае в файле всё хранится в UTF-8. А UTF-8 требует ровно 1 байт на каждый символ. То, что не выбрасывается искючение, когда кладётся символ не из UTF-8, я исправлю, но тут, казалось бы, всё правильно.