java - 运行时 Python 输出未显示在 jar 文件中
问题描述
我创建了一个 java gui,它从用户那里获取值,将其发送到 python 文件进行处理,然后将 python 文件的输出显示到 java gui。这在 Eclipse 上运行良好,但是当我将其导出到 jar 文件中时,不显示输出。我见过很多其他类似的问题,但他们没有给出对我有帮助的解决方案。
这就是我将python脚本连接到java的方式。
public void connection(String name)
{
ProcessBuilder pb= new ProcessBuilder("python","recomold.py","--movie_name",name);
///System.out.println("running file");
Process process = null;
try {
process = pb.start();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
int err = 0;
try {
err = process.waitFor();
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// System.out.println("any errors?"+(err==0 ? "no" : "yes"));
/* try {
System.out.println("python output "+ output(process.getInputStream()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
try {
matches.setText(output(process.getInputStream()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private String output(InputStream inputStream) throws IOException {
StringBuilder sb = new StringBuilder();
BufferedReader br = null;
try{
br= new BufferedReader(new InputStreamReader(inputStream));
String line = null;
while((line=br.readLine())!=null)
{
sb.append(line+"\n");
//descp.setText("<html><br/><html>");
//sb.append("\n");
}
}
finally
{
br.close();
}
return sb.toString();
}
解决方案
推荐阅读
- flutter - video_player 插件上找不到文件错误
- ssl - 使用签名 URL 将文件上传到 GCP 到域名存储桶会导致 SSL 证书错误
- google-cloud-talent-solution - NodejS v4 beta 库时间戳
- javascript - 如何在 MDC 菜单中侦听 keydown Enter 和鼠标单击?
- vba - 访问表单 - 遍历一系列标签并更改标题
- android - @JsonIgnoreProperties 与 moshi 的等价物是什么?
- pandas - 如何防止 pandas 将原始数据库日期格式转换为 pandas 日期格式
- python - 替代循环遍历熊猫数据框行以应用条件?
- ruby-on-rails - 如何在 Rails 模型中映射数据?
- json - 如何转换可以表示多种类的 JSON 字符串?