前言
做文档转换的时候,使用Java调用COM接口的时候,如果文档中有字体没有的话,在转换的时候会弹窗,导致转换卡死,再加上转图片还需要装额外的软件,比较麻烦。
所以就直接用C#开发了一个可执行程序来做这个操作,其他语言只需要调用这个EXE即可。
Java调用
在Java中,可以使用Runtime类的exec()方法来调用可执行文件(如.exe文件)。
例如,以下代码演示了如何调用一个名为myProgram.exe的可执行文件,并将传递给它的参数作为字符串数组传递:
代码语言:javascript复制import java.io.*;
public class ExecDemo {
public static void main(String[] args) {
try {
// 调用myProgram.exe并传递参数
Process proc = Runtime.getRuntime().exec("myProgram.exe arg1 arg2 arg3");
// 读取可执行文件的输出
BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待命令执行完毕并获取退出值
int exitVal = proc.waitFor();
System.out.println("Exited with error code " exitVal);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
在此示例中,我们创建一个Process对象来调用可执行文件,然后使用BufferedReader读取可执行文件的输出。
最后,我们使用waitFor()方法等待命令执行完毕并获取退出值。
我们可以判断退出值,为0的话则执行成功。