Свойство stdout
Свойство stdout класса Process возвращает
поток стандартного вывода (standard output) запущенного
процесса. Это свойство доступно только для чтения и
представляет собой объект типа Stream<List<int>>,
который можно слушать для получения данных, выводимых
процессом. Свойство stdout не принимает параметров,
так как является атрибутом объекта Process. Данные
приходят в виде списка байтов, которые обычно преобразуют
в строку с помощью кодировки UTF-8.
Синтаксис
process.stdout
Пример
Давайте запустим процесс echo и выведем его
стандартный вывод в консоль:
import 'dart:io';
void main() async
{
Process process = await Process.start('echo', ['abcde']);
process.stdout.listen((List<int> data) {
print(String.fromCharCodes(data).trim());
});
}
Результат выполнения кода:
"abcde"
Пример
Давайте запустим процесс ls и соберём весь
стандартный вывод в одну строку с помощью метода
transform и join:
import 'dart:io';
import 'dart:convert';
void main() async
{
Process process = await Process.start('ls', []);
String res = await process.stdout
.transform(utf8.decoder)
.join();
print(res.trim());
}
Результат выполнения кода:
"file1.txt file2.txt"