write method
Writes a string.
Parameters
str: String to writeoffset: Offset from which to start writing characters (default: 0)length: Number of characters to write (default: remaining characters from offset)
Example
final writer = FileWriter('output.txt');
try {
// Write entire string
await writer.write('Hello, World!');
// Write part of string
await writer.write('Hello, World!', 7, 5); // Write "World"
await writer.flush();
} finally {
await writer.close();
}
Throws InvalidArgumentException if offset or length is negative, or if
offset + length is greater than the length of str.
Throws IOException if an I/O error occurs.
Throws StreamClosedException if the writer has been closed.
Implementation
@override
Future<void> write(String str, [int offset = 0, int? length]) async {
await _ensureOpen();
length ??= str.length - offset;
if (offset < 0 || length < 0 || offset + length > str.length) {
throw InvalidArgumentException('Invalid offset or length');
}
final substring = str.substring(offset, offset + length);
_buffer.addAll(substring.codeUnits);
}