首页 > 解决方案 > 运行时 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();
    }

标签: javapython

解决方案


推荐阅读