Ситуация: Функция/метод создает файл, пишет в него некий заголовок и передает его дескриптор или связанный с ним поток другим функциям/методам, которые тоже иногда пишут кое-что в этот файл. А иногда не пишут.
Запрос пользователя (change request): Если никакой информации кроме заголовка в файле нет, нечего и файл создавать.
Мнение программиста: Если пустой файл никому не мешает, нечего и избыточную логику в программе городить.