do not use buffered reader, since sometimes cannot read file content out