このコードを使用して、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)
string が double に変換されない理由は何ですか? 前もって感謝します