酷代码 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点数解答]

相关提问
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]