Data source: http://rosettacode.org/wiki/Read_a_file_line_by_line
