// file must exist but can be empty