我正在尝试与从一些 Python 代码创建的简单 .exe 进行交互。我已经通过 Windows cmd 测试了 .exe,它工作得很好。当我尝试通过我的 java 程序将相同的输入发送到 .exe 以生成我需要的图形时,OutputStream 只是将“错误”写入控制台。我尝试通过 OutputStream 发送一个字符串和一个整数,但无论如何都会获得相同的结果。我已经与 X-Foil.exe 进行了交互,这是一个用于生成翼型数据文件的控制台应用程序,通过同一个 Java 应用程序取得了巨大的成功。由于我必须对数据进行曲线拟合,因此我使用 Python 和 matplotlib 插件,然后使用 py2exe 创建 .exe。我正在尝试创建一个 Web 应用程序,其最终目标是设计飞机机翼,因此使用 java。
public void PyGrapher(String NACA_4d) {
try {
ProcessBuilder builder = new ProcessBuilder("PyAirfoilGraphing\\dist\\GraphPolars.exe");
builder.redirectErrorStream(true);
Process pr = builder.start();
OutputStream out = pr.getOutputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
double CL_alpha;
out.write((NACA_4d + "\n").getBytes());
System.out.println(in.readLine());
System.out.println(in.readLine());
System.out.println(in.readLine());
System.out.println(in.readLine());
//CL_alpha = Double.parseDouble(in.readLine());
pr.waitFor();
pr.destroy();
out.close();
in.close();
} catch (IOException | InterruptedException ex) {
}
}
这是我从控制台读到的内容:
Input NACA 4-digit code: error
Traceback (most recent call last):
File "GraphPolars.py", line 16, in <module>
IOError: [Errno 2] No such file or directory: '..\\..\\AirfoilPolars\\NACA_0024.dat'
我被难住了,而且已经有一段时间了。python文件没有问题,在当前目录下自行运行良好。有人可以帮忙吗?
-尼克K