zoukankan      html  css  js  c++  java
  • java调用python返回乱码

    今天在使用java执行python文件时,因为python文件中输出的是中文,在Java控制台中全为乱码。

    代码:

    import org.python.util.PythonInterpreter;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.Properties;
    /**
    *@author chenmeiqi
    *@version 2020年2月26日 下午7:08:24
    */
    public class test {
    
        public static void main(String[] args) throws IOException, InterruptedException {
            // TODO Auto-generated method stub 
            Process proc = Runtime.getRuntime().exec("D:\Anaconda3\envs\py36\python.exe D:/spider/ItemCF.py");
            BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }
            in.close();
            proc.waitFor();
            System.out.println("end"); 
        }
    
    }

    运行结果:

     解决方法:

      在读取python输出窗口的信息时,只需添加一个参数gbk即可。

    BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream(),"gbk"));

    运行结果:

  • 相关阅读:
    第一阶段各队建议
    解决死锁四大方式
    进程和线程区别
    windows 地址空间分配
    Linux下用户组、文件权限详解
    2016总结
    class内部处理
    c++ devived object model
    static
    reinterpret
  • 原文地址:https://www.cnblogs.com/qilin20/p/12369483.html
Copyright © 2011-2022 走看看