java 启动exe程序,传递参数和获取参数操作

为在Java中启动.exe程序并传递参数,有以下几个步骤:

  1. 使用Runtime.getRuntime()获取运行时对象。
  2. 使用运行时对象的exec()方法执行需要启动的.exe程序,并获得其进程对象Process。
  3. 调用进程对象Process的getOutputStream()getInputStream()方法获取标准输出流和输入流。
  4. 使用标准输出流向.exe程序输入参数。
  5. 读取.exe程序打印在标准输出流中的结果,即标准输入流。

示例1:启动一个.exe程序并传递参数

String exePath = "C:\\path\\to\\program.exe";
String arg1 = "arg1";
String arg2 = "arg2";

try {
    // 获取运行时对象
    Runtime runtime = Runtime.getRuntime();
    // 执行.exe程序并获得其进程对象
    Process proc = runtime.exec(exePath + " " + arg1 + " " + arg2);
    // 获取标准输入流和输出流
    BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));
    BufferedWriter output = new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));

    // 向标准输出流输入参数
    output.write("input_str \n");
    output.flush();

    // 读取标准输入流,即.exe程序的输出结果
    String line;
    while ((line = input.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException e) {
    e.printStackTrace();
}

示例2:启动一个.exe程序并传递参数,然后根据返回结果做出不同的处理操作

String exePath = "C:\\path\\to\\program.exe";
String arg1 = "arg1";
String arg2 = "arg2";

try {
    // 获取运行时对象
    Runtime runtime = Runtime.getRuntime();
    // 执行.exe程序并获得其进程对象
    Process proc = runtime.exec(exePath + " " + arg1 + " " + arg2);
    // 获取标准输入流和输出流
    BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));
    BufferedWriter output = new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));

    // 向标准输出流输入参数
    output.write("input_str \n");
    output.flush();

    // 读取标准输入流,即.exe程序的输出结果
    String line;
    while ((line = input.readLine()) != null) {
        // 根据返回结果进行不同的处理
        if (line.equals("success")) {
            // do something
        } else if (line.equals("failure")) {
            // do something else
        } else {
            // do another thing
        }
    }
} catch (IOException e) {
    e.printStackTrace();
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java 启动exe程序,传递参数和获取参数操作 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • springboot整合springsecurity与mybatis-plus的简单实现

    那么让我们来探讨一下如何实现“springboot整合springsecurity与mybatis-plus的简单实现”,包含以下步骤: 1.创建一个springboot项目,添加相关依赖 为了实现该功能,我们首先需要创建一个springboot项目,并添加所需的依赖项。在pom.xml文件中添加以下依赖项: <dependency> <g…

    Java 2023年5月20日
    00
  • Struts2开发环境搭建 附简单登录功能实例

    Struts2开发环境搭建 附简单登录功能实例 开发环境要求 首先,我们需要准备好以下开发环境:- Java JDK 1.7或者更高版本- Apache Tomcat 7或者更高版本- Eclipse IDE 或者其他Java集成开发环境 下载安装Tomcat 下载Tomcat 在Apache Tomcat的官网上,我们可以选择合适的版本进行下载和安装。一般…

    Java 2023年5月20日
    00
  • 秒杀系统Web层设计的实现方法

    针对“秒杀系统Web层设计的实现方法”的完整攻略,可以分为以下几个步骤: 1. 秒杀系统的需求分析 在设计秒杀系统的Web层之前,首先需要对系统的需求进行分析,包括以下内容: 用户登录和注册 商品列表的展示 商品详情页的展示 用户下单 订单详情的展示 订单状态的查询 2. 框架的选择 接下来需要选择一个合适的框架来实现这个秒杀系统的Web层。当前最流行的几个…

    Java 2023年6月15日
    00
  • Java gbk转utf-8

    Java中GBK与UTF-8是常见的字符编码方式,这里讲解如何将GBK编码的字符串转换成UTF-8编码的字符串,共有两种方法。 方法一:手动转换 手动转换需要使用Java的编码转换API,具体步骤如下: 将字符串按GBK编码方式解码为字节数组; 将字节数组按UTF-8编码方式组装成字符串。 示例代码如下: import java.io.Unsupported…

    Java 2023年5月20日
    00
  • SpringBoot+SpringSecurity处理Ajax登录请求问题(推荐)

    下面我将详细讲解“SpringBoot+SpringSecurity处理Ajax登录请求问题(推荐)”的完整攻略。 简介 在Java web开发中,SpringBoot和SpringSecurity组合使用,是非常常见的安全框架,可以很好地保护我们的网站不被非法入侵。但是如果我们使用了Ajax技术来进行登录,就需要对SpringSecurity的登录认证进行…

    Java 2023年5月20日
    00
  • 教你怎么在IDEA中创建java多模块项目

    下面是在IDEA中创建Java多模块项目的完整攻略: 1. 创建项目 首先,我们要打开IDEA,选择 “Create New Project”。然后,我们会看到一个对话框。 在对话框中,我们需要选择一个Maven项目类型,并确保我们勾选上了 “Create from archetype” 选项。然后点击 “Add archetype” 按钮,在弹出的对话框中…

    Java 2023年5月26日
    00
  • Java 将字符串动态生成字节码的实现方法

    Java提供了内置的动态生成字节码的API——java.lang.invoke.MethodHandles.Lookup,该API可以通过反射调用Java虚拟机的动态字节码生成引擎,用于在运行时生成并加载字节码。本攻略将详细讲解使用该API动态生成字节码的完整过程。 1. 创建一个类加载器 在Java中,每个类都必须通过类加载器进行加载才能被JVM识别并执行…

    Java 2023年5月27日
    00
  • Java 实现RSA非对称加密算法

    下面是详细讲解“Java 实现RSA非对称加密算法”的完整攻略: RSA非对称加密算法: RSA算法是一种非对称加密算法,由三位数学家,Rivest,Irving,Adi Shamir和Leonard Adleman发明,取名来自他们三人的名字缩写。RSA算法是一种常用的加密算法,它可以用于数字签名,密钥协商,数据加密等等。 RSA的原理: RSA非对称加密…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部