【发布时间】:2013-06-16 21:37:19
【问题描述】:
我最近试图制作一个 Swing GUI 来发送和接收来自第三方命令行 program 的命令。我使用了与命令提示符相同的过程,即 ProcessBuilder 类来执行,然后使用 BufferedReader 从程序中读取响应。我肯定可以再次提及,我至少可以从 Windows 命令提示符读取一些响应(有时我需要使用扫描仪代替)。当我在this 命令行程序上使用相同的,
-
没有出现
-
它没有响应 BufferedReader 或 Scanner。
我在网上搜索了一个单调的回复,说对它们执行相同的过程是不一样的,因为它们不是相同的东西。我到现在还没有完成我的项目,但是如果我知道它们之间有什么区别,它们的执行方式,它们不一样,有什么办法可以真的把它们放在一起,我的问题就可以解决了吗?
【问题讨论】:
-
到目前为止还不是一个问题:“为什么程序不使用标准输入或标准输出”并不是真正有用/可回答的。程序无法启动的原因也有很多...首先要尝试的是在命令提示符下将输入/输出通过管道传输到该程序,以查看它是否确实读取了输入...
-
@AlexeiLevenkov 先生,我没有声望投票赞成您的评论,但谢谢您,我自己也觉得有必要重新提出这个问题。
-
@SukhmeetSingh 乍一看,我会说该程序很可能会打开自己的外壳,尽管“原始”外壳保持沉默且无响应。请描述程序在您从 shell 手动执行时的行为。
-
@SukhmeetSingh 另外,查看代码后,如果您的系统上有 readline,它的行为会有所不同。你呢?
-
@AngeloNeuschitzer 先生,当我从 shell 手动执行它时,它会接管提示,并在对软件进行一些描述后出现自己的提示。提示看起来像
jatg>。我的系统上确实有 readLine。
标签: java swing user-interface command-line command-prompt