【发布时间】:2013-05-02 23:29:41
【问题描述】:
我遇到了一个非常奇怪的问题。我正在尝试读取我正在执行的命令的结果。代码永远不会到达 println 语句。如果达到输出的结尾,它只是“挂起”程序。没有失败,也没有例外。
我的项目是 Scala 和 Java 的混合体。因此,解决方案使用哪种语言并不重要。我都试过了。我项目的编码是Cp1252。
这是我的代码
var fileScript = Runtime.getRuntime().exec(PathOfScript)
var isr:InputStreamReader = new InputStreamReader(fileScript.getInputStream())
var in = new BufferedReader(isr)
var line:String = ""
try {
while ({line = in.readLine(); line!= null}) {
println("line: "+line)
}
println("OUTSIDE !!!");
in.close();
}
【问题讨论】:
-
脚本过程真的完成了吗?你确定它输出的是标准输出而不是标准错误吗?
-
PathOfScript 变量包含什么?非常好?
-
路径是“c:\\nusmv\\nusmv -source script.cmd”。整个输出都可以通过代码访问......如果它到达终点,它只是“挂断”。所以它认为,一切都在标准输出中。
标签: java scala bufferedreader readline inputstreamreader