close method
Closes this output stream and releases any system resources associated with this stream.
A closed stream cannot perform output operations and cannot be reopened. The close method of OutputStream calls flush before closing the stream.
Example
final output = FileOutputStream('output.txt');
try {
await output.writeString('Hello, World!');
// flush() is called automatically by close()
} finally {
await output.close(); // Always close in finally block
}
Throws IOException if an I/O error occurs.
Implementation
@override
Future<void> close() async {
if (!isClosed) {
try {
if (_randomAccessFile != null) {
await _randomAccessFile!.flush();
await _randomAccessFile!.close();
}
} catch (e) {
throw IOException('Error closing file: ${_file.path}', cause: e);
} finally {
_randomAccessFile = null;
await super.close();
}
}
}