Может файл не совсем пустой?
Пустой файл это совсем 0 байт, без потоков и совершенно без какой-либо информации, даже о кодировке. Т.е., он не содержит совершенно никакой информации, совсем, вообще.
только что проверил - создал пустой, "поменял" кодировку на UTF-8+BOM (потому что блокнот с BOM только умеет), сохранил - вуаля, файл стал 3 байта - подсказать, что там, в этих 3 байтах?