У меня есть программа командной строки Dart, которая хочет иметь возможность передавать данные из оболочки в программу Dart (например, cat file.txt | dart my_program.dart
или принимать ввод, пока пользователь не нажмет Ctrl+d). Просматривая учебные пособия в Интернете, единственная документация, которую я нашел при сохранении ввода из стандартного ввода, была stdin.readLineSync()
. Однако, как следует из названия, это читает только первую строку.
Как записать все содержимое стандартного ввода в строку? Кроме того, возникнут ли какие-либо проблемы с безопасностью, если пользователь попытается передать чрезвычайно большой файл? Есть ли ограничение на длину строки? Как я могу защититься от этого?
Спасибо за вашу помощь!