酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

java调用python接口使用的 string pythonscriptpathpng = "ruoyi-edu\\src\\main\\java\\com\\gtvote\\edu\\python\\pptutils.py"; processbuilder pbpng = new processbuilder("python", pythonscriptpathpng, pptfilepath, "png"); process ppng = pbpng.start(); // 读取 python 脚本写入的文件 bufferedreader reader = new bufferedreader(new filereader("count.txt")); ppng.waitfor(); 传入的中文变成了乱码

这个问题可能是由于字符编码不一致导致的。在Java中调用Python脚本时,需要确保两者使用相同的字符编码。可以尝试将Java代码中的字符编码设置为UTF-8,如下所示: ```java import java.io.*; public class JavaCallPython { public static void main(String[] args) throws IOException, InterruptedException { String pythonScriptPath = "ruoyi-edu\\src\\main\\java\\com\\gtvote\\edu\\python\\pptutils.py"; String pptFilePath = "your_ppt_file_path"; ProcessBuilder pb = new ProcessBuilder("python", pythonScriptPath, pptFilePath, "png"); pb.redirectErrorStream(true); // 合并错误输出流和标准输出流 Process p = pb.start(); p.waitFor(); // 读取Python脚本写入的文件 try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("count.txt"), "UTF-8"))) { String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } } } ``` 确保Python脚本中的文件读写也使用相同的字符编码,例如: ```python # -*- coding: utf-8 -*- with open("count.txt", "w", encoding="utf-8") as f: f.write("你的文本内容") ``` [2024-06-06 17:19:55 | AI写代码神器 | 344点数解答]

相关提问