readLine method
Reads a single line from the file.
lineDelimiter
the end of line delimiter.
You can read the entire file by calling readLine repeatedly until it returns null.
The lineDelimiter
may be one or two characters long.
Defaults to the platform specific delimiter as
defined by Platform().eol
.
Implementation
String? readLine({String? lineDelimiter}) {
lineDelimiter ??= Platform().eol;
final line = StringBuffer();
int byte;
var priorChar = '';
var foundDelimiter = false;
while ((byte = _raf.readByteSync()) != -1) {
final char = utf8.decode([byte]);
if (_isLineDelimiter(priorChar, char, lineDelimiter)) {
foundDelimiter = true;
break;
}
line.write(char);
priorChar = char;
}
final endOfFile = line.isEmpty && foundDelimiter == false;
return endOfFile ? null : line.toString();
}