mark method
Marks the present position in the stream.
Subsequent calls to reset() will attempt to reposition the stream to this point.
Parameters
readAheadLimit
: Limit on the number of characters that may be read while still preserving the mark
Example
final reader = BufferedReader(FileReader('config.txt'));
if (reader.markSupported()) {
reader.mark(1024); // Allow up to 1024 characters to be read
// Try to detect file format
final firstLine = await reader.readLine();
if (firstLine?.startsWith('<?xml') == true) {
// Reset and process as XML
await reader.reset();
processXml(reader);
} else {
// Reset and process as plain text
await reader.reset();
processText(reader);
}
}
Throws IOException if the stream does not support mark, or if some other I/O error occurs.
Implementation
void mark(int readAheadLimit) {
// Default implementation does nothing
}