前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java调用EXE

Java调用EXE

作者头像
码客说
发布2023-04-27 15:26:50
1.4K0
发布2023-04-27 15:26:50
举报
文章被收录于专栏:码客

前言

做文档转换的时候,使用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的话则执行成功。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Java调用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档