Uses standard file and string streams