Stdout class

An IOSink connected to either the standard out or error of the process.

Provides a blocking IOSink, so using it to write will block until the output is written.

In some situations this blocking behavior is undesirable as it does not provide the same non-blocking behavior that dart:io in general exposes. Use the property nonBlocking to get an IOSink which has the non-blocking behavior.

This class can also be used to check whether stdout or stderr is connected to a terminal and query some terminal properties.

The addError API is inherited from StreamSink and calling it will result in an unhandled asynchronous error unless there is an error handler on done.

The lineTerminator field is used by the write, writeln, writeAll and writeCharCode methods to translate "\n". By default, "\n" is output literally.

Implemented types


done Future
A future that will complete when the consumer closes, or when an error occurs.
no setterinherited
encoding Encoding
The Encoding used when writing strings.
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
hasTerminal bool
Whether there is a terminal attached to stdout.
no setter
lineTerminator String
Line ending appended by writeln, and replacing "\n" in some methods.
getter/setter pairinherited
nonBlocking IOSink
A non-blocking IOSink for the same output.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
supportsAnsiEscapes bool
Whether connected to a terminal that supports ANSI escape sequences.
no setter
terminalColumns int
The number of columns of the terminal.
no setter
terminalLines int
The number of lines of the terminal.
no setter


add(List<int> data) → void
Adds byte data to the target consumer, ignoring encoding.
addError(Object error, [StackTrace? stackTrace]) → void
Passes the error to the target consumer as an error event.
addStream(Stream<List<int>> stream) Future
Adds all elements of the given stream.
close() Future
Close the target consumer.
flush() Future
Returns a Future that completes once all buffered data is accepted by the underlying StreamConsumer.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
toString() String
A string representation of this object.
write(Object? object) → void
Converts object to a String by invoking Object.toString and adds the encoding of the result to the target consumer.
writeAll(Iterable objects, [String sep = ""]) → void
Iterates over the given objects and writes them in sequence.
writeCharCode(int charCode) → void
Writes the character of charCode.
writeln([Object? object = ""]) → void
Converts object to a String by invoking Object.toString and writes the result to this, followed by a newline.


operator ==(Object other) bool
The equality operator.