【发布时间】:2013-01-05 08:15:39
【问题描述】:
我正在通过这段代码在java中捕获外部.exe文件的输出值
Process p = Runtime.getRuntime().exec("filepath\\myexefile.exe 5.53 46.46"); // 5.53 and 46.46 are two input orguments of exe file
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
String s;
while ((s = stdInput.readLine()) != null) {
System.out.println(s); }
Double d = Double.valueOf(s);
System.out.println(d);
}
代码运行良好,它按预期显示输出 53.4429。但是,当我尝试将 53.4429 转换为 double 时,它会出现以下错误
Exception in thread "main" java.lang.NullPointerException
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1008)
at java.lang.Double.valueOf(Double.java:504)
知道为什么字符串不转换成双精度吗?在此先感谢
【问题讨论】:
-
@CodeEnhusiastic 这在这里真的没有帮助。 OP 向我们展示了失败的代码,以及由此产生的堆栈跟踪。
-
我的意思是他试图找出异常。