You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dart控制台无法输入,stdin.readLineSync()始终返回null求助

解决方案:Dart stdin.readLineSync()返回null无法输入的问题

核心原因

你遇到的问题本质是Android Studio默认将你的Dart项目按Flutter应用模式运行,强制绑定模拟器/设备,而非本地交互式终端,导致控制台无法接收输入,stdin.readLineSync()直接返回null,同时控制台显示「Read-only」。

解决方法

方法一:修改IDE运行配置

  • 点击Android Studio右上角的运行配置下拉菜单,选择「Edit Configurations...」
  • 点击左上角的「+」按钮,选择「Dart」类型
  • 在「Dart file」选项中选择你的main.dart文件,可将配置名称改为「Dart Console」方便识别
  • 保存配置后,选择该配置运行程序,此时会启动本地交互式终端,即可正常输入内容

方法二:直接用系统终端运行

  • 打开电脑自带的终端工具(Windows用命令提示符/PowerShell,Mac/Linux用终端)
  • 切换到你的项目根目录,比如执行 cd /path/to/your/project
  • 运行命令:dart run lib/main.dart
    此时终端会进入交互状态,输入内容后按回车,程序就能正确获取输入值

补充说明

你在flutlab.io下载的项目能正常运行,是因为该项目的默认运行配置已设置为Dart控制台程序;而本地新建的Flutter项目,IDE会默认启用Flutter设备运行模式,这种模式下的控制台与模拟器/设备绑定,不支持本地输入交互。

内容的提问来源于stack exchange,提问作者Buğra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 08:30:59