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日

相关文章

  • 如何实现线程安全的单例模式?

    以下是关于如何实现线程安全的单例模式的完整使用攻略: 什么是线程安全的单例模式? 线程安全单例模式是指在多线程环境下,保证有一个实例对象被创建,并且多个线程可以同时访问该实例对象,而不会出现数据不一致或程序崩溃等问题。在多线程编程中,线程安全的单例模式是非常重要的,因为多个线程同时访问单例对象,会出现线程间争用的问题,导致数据不一致或程序崩溃。 如何实现线程…

    Java 2023年5月12日
    00
  • 深入解析JVM对dll文件和对类的装载过程

    下面我将为您详细讲解“深入解析JVM对dll文件和对类的装载过程”的完整攻略。 简介 Java虚拟机(JVM)是Java程序运行的重要环境,其中包括了对类的装载技术。在Java的运行期间,JVM会将.class文件装载进内存中,而在Windows系统中,则会涉及到装载.dll文件。下面将具体讲解JVM对dll文件和类的装载过程。 DLL文件装载过程 在Win…

    Java 2023年5月26日
    00
  • 基于Java实现记事本功能

    下面是实现记事本功能的完整攻略,包含以下内容: 环境配置 编码实现 功能演示 1. 环境配置 首先需要安装Java环境和Eclipse集成开发环境。 安装好Java环境和Eclipse后,打开Eclipse新建一个Java项目,然后新建一个Java类。 2. 编码实现 在Java类中编写代码实现记事本功能,具体步骤如下: 2.1 界面设计 使用Swing库实…

    Java 2023年5月19日
    00
  • 微信小程序HTTP接口请求封装的实现

    微信小程序HTTP接口请求封装可以让开发者在进行后端请求时,不需要每次都编写相同的请求代码,提高了开发效率和代码可维护性。以下是实现步骤: 1.创建请求封装工具类 可以创建一个名为request.js的文件,使用ES6语法定义一个请求类,通过wx.request来进行请求。请求封装可以支持对请求头、请求体、请求地址、请求类型等进行配置。在进行请求后,利用Pr…

    Java 2023年5月23日
    00
  • JSP连接SQL Server 2000系统配置

    JSP连接SQL Server 2000需要进行以下步骤: 环境准备 安装JDBC驱动:在JSP项目中引入SQL Server JDBC驱动包,通常是一个jar文件。可以从官方网站下载(https://docs.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sq…

    Java 2023年6月15日
    00
  • JavaSpringBoot报错“HttpMessageConversionException”的原因和处理方法

    原因 “HttpMessageConversionException” 错误通常是以下原因引起的: 请求体格式不正确:如果您的请求体格式不正确,则可能会出现此错误。在这种情况下,您需要检查您的请求体格式并确保它们正确。 请求体类型不支持:如果您的请求体类型不支持,则可能会出现此。在这种情况下,您需要检查您的请求体类型并确保它们受支持。 解决办法 以下是解决 …

    Java 2023年5月4日
    00
  • Spring注解方式无法扫描Service注解的解决

    当使用Spring注解方式配置应用程序时,有时可能会出现在扫描Service注解时无法识别的问题。出现这个问题的原因一般是因为缺少在Spring中定义Service注解扫描器的配置或者配置错误。解决此类问题需要进行以下设置: 添加@Service注解扫描器。 要使Spring扫描@Service注解,需要在Spring配置文件中配置注解扫描器,如下所示: &…

    Java 2023年5月20日
    00
  • 微信小程序模板template简单用法示例

    微信小程序模板template简单用法示例 什么是小程序模板? 小程序模板是一种可复用的代码结构,可以在多个页面中使用。它包含了一些 HTML、CSS、JavaScript 代码,用于渲染页面元素。 如何使用小程序模板? 在微信小程序中,使用小程序模板需要遵循以下步骤: 在 *.wxml 文件中引入模板:使用 wxml 标签的 import 属性,将需要引入…

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