从 Java 执行 EXE 并从 EXE 获取输入和输出

2023-11-30

我有一个EXE file, addOne.exe它不断地从控制台上的用户输入一个整数(不是命令行参数)并输出整数 + 1到控制台上。示例输出如下所示:

1
2

6
7

29
30
...

我正在尝试编写一个java程序,它可以:

  • Run the EXE
  • 不断得到用户输入来自Java程序 using Scanner.nextInt()并作为控制台输入输入到 EXE
  • 每当 EXE 将文本输出到控制台时,就从Java程序

我可以使用以下命令运行 EXE:

new ProcessBuilder("D:\\pathtofile\\addOne.exe").start();

但我不知道如何将Java程序的输入发送到EXE并将输出从EXE获取到Java程序。

谢谢。


当您启动外部程序时ProcessBuilder with ProcessBuilder#start(), a Process将为程序创建对象,如下所示:

Process process = new ProcessBuilder("D:\\pathtofile\\addOne.exe").start();

您可以使用以下命令访问输入流和输出流process object:

InputStream processInputStream = process.geInputStream();
OutputSteam processOutputStream = process.getOutputStream();

要将数据写入外部程序,您可以实例化一个BufferedWriterprocessOutputSream:

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(processOutputStream));

要从外部程序读取数据,您可以实例化一个BufferedReaderprocessInputStream:

BufferedReader reader = new BufferedReader(new InputStreamReader(processInputStream));

现在您已拥有实现目标的所有组件:

  1. 从控制台读取用户输入Scanner#nextInt().
  2. 将用户输入写入外部程序writer
  3. 读取外部程序输出的数据reader
  4. 最后将数据打印到控制台System.out.println()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Java 执行 EXE 并从 EXE 获取输入和输出 的相关文章

  • 不同帐户上的 Spring Boot、JmsListener 和 SQS 队列

    我正在尝试开发一个 Spring Boot 1 5 应用程序 该应用程序需要侦听来自两个不同 AWS 帐户的 SQS 队列 是否可以使用 JmsListener 注解创建监听器 我已检查权限是否正确 我可以使用 getQueueUrl 获取
  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • .properties 中的通配符

    是否存在任何方法 我可以将通配符添加到属性文件中 并且具有所有含义 例如a b c d lalalala 或为所有以结尾的内容设置一个正则表达式a b c anything 普通的 Java 属性文件无法处理这个问题 不 请记住 它实际上是
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • 将流转换为 IntStream

    我有一种感觉 我在这里错过了一些东西 我发现自己做了以下事情 private static int getHighestValue Map
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • 在 junit 测试中获取 javax.lang.model.element.Element 类

    我想测试我的实用程序类 ElementUtils 但我不知道如何将类作为元素获取 在 AnnotationProcessors 中 我使用以下代码获取元素 Set
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url
  • Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

    我的数据库中存在一个集合 documentDev 其分片键为 dNumber 样本文件 id 12831221wadaee23 dNumber 115 processed false 如果我尝试使用以下命令通过任何查询工具更新此文档 db
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp

随机推荐

  • 将字典保存到 NSUserDefaults 中

    class AddElementVC UIViewController textfields and some other functions are defined here IBAction func addElement sender
  • Win32_MountPoint 和 Win32_Volume 在 Windows XP 上是否可用?

    从我找到的 MSDN 文章中 http msdn microsoft com en us library aa394515 v VS 85 aspx Win32 Volume 和 Win32 MountPoint 在 Windows XP
  • 当我知道 CNAME 存在时,为什么 dns_get_record 不显示它们?

    我正在 PHP 中进行 DNS 记录查找 但遇到了一些令人困惑的事情 我查找了两个不同的域 每个域使用不同的主机和不同的权威名称服务器 我确信这两个域都有 CNAME 我使用这个在线工具查找了 DNS 记录 http network too
  • 使用实体框架自动编号

    我想循环遍历对象集合并将它们全部添加到表中 目标表有一个自动增量字段 如果我添加单个对象就没有问题 如果我添加两个主键都为零的对象 实体框架将失败 我可以手动指定主键 但尝试 EF 的全部目的是让生活更轻松 而不是更复杂 这是代码 收到的异
  • 检查更新查询是否成功[PHP,mysqli] [重复]

    这个问题在这里已经有答案了 我正在使用 PHP 和 mysqli 该程序正在做的是 如果在它设置密码的数据库中找到电子邮件添加和重置代码 它会要求重置代码和电子邮件地址 这部分功能正在工作 我需要这部分的帮助 我需要做的是告诉用户是否设置了
  • 是否可以强制 MapKit 显示所有注释而不进行聚类?

    我有两个类都符合MKAnnotation 我想知道有没有办法强制MapKit当用户缩小并显示所有注释时不聚集注释 上述解决方案对我不起作用 但是这个解决方案有效 final class CarPinMarkerView MKMarkerAn
  • Firefox 中图像顶部显示“提交查询”的图像按钮

    我的项目在 IE 和 Chrome 中都能正确显示 然而 在 FF 中 由于某种原因 图像按钮在其顶部显示 提交查询 我正在 CSS 中设置图像位置 它绝对是正确的 因为它在所有浏览器中都能正常工作 只是 FireFox 出于某种原因将 提
  • 使用 jquery 替换通配符文本

    我有一个包含公司信息 地址 电话等 的数据库 某些电话号码有国际代码 44 0 123 12345 其中 0 的数字因国家 地区而异 我需要去掉 0 我有以下代码 var el contactdetails el html el html
  • 错误:java.lang.NullPointerException:尝试调用虚拟方法“android.content.res.XmlResourceParser”

    我收到此错误 我是 android studio 的新手 我需要为 Unity 创建此插件以在运行时安装 apk 错误 尝试在空对象引用上调用虚拟方法 android content Context Android content Cont
  • 使用 XPath,如何根据节点的文本内容和属性值选择节点?

    给定这个 XML
  • 鼠标事件不会更新 winform 中的相机旋转

    我的应用程序有一个自定义面板 用于在 WinForm 中显示 XNA 屏幕 我目前已经展示了一个没有问题的测试模型 现在正在研究相机移动 我的相机是一个免费相机 不受任何特定目标的约束 但我一直无法让鼠标更新相机在其自身轴上的偏航和俯仰 我
  • Java 中的两个类之间如何使用接口进行通信?

    嗨 我一直在这里阅读一些类似的主题 但没有一个回答我的问题 有人说你甚至不能这样做 这不是一件好事 因为在这种情况下我无法完成我的课程 这是一些简单的代码 将每个块视为一个单独的类 public interface Interface vo
  • 在 R 中循环文件

    我正在使用 R 来计算文件中列的平均值 如下所示 R file1 read table x01 mean file1 V4 然而 我没有构建涉及 R 的循环的经验 仅使用 bash 我如何将其转换为一个循环 对文件夹中的每个文件执行此操作
  • file_get_contents() 是否使用缓存?

    如果我写 mypage file get contents www mywebsite com mypage htm 我第一次运行该脚本时 file get contents 肯定会向 www mywebsite com 发出 mypage
  • 学习 C++ 语言 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我是一名 net c 程序员 但我也想学习 NET C 我是 c 的初学者 有没有从初学者到专家的网站 书籍或视频教程 不存在 Net c 这样的东西 也许你的意思是C CLI 这是
  • 混合模式 C++/CLI 性能注意事项 - 最佳实践

    我有一个 C CLI 库 它调用许多本机 C 方法 我读过许多线程 指出不应混合托管和非托管代码 我找不到任何说明如何避免这些开关以及为什么它会导致性能问题的信息 有人可以分享最佳实践吗 使用 C CLI 的唯一原因是它支持混合托管代码和本
  • 如何每次迭代增加一个字母 N 次并存储在数组中?

    letter array for i A i ZZ i letter i print r letter 从上面的脚本我做了一个循环A B C D ZZ 现在 我想把它变成A C E G I ZZ 2步骤而不是1 我需要指导才能做到这一点 这
  • 在 Firebase 中加入两个节点

    我正在开发一个应用程序 它应该显示来自两个节点 Firebase 的数据 Firebase DB 的结构如下 College 4F2EAB65 id 4F2EAB65 name SomeCollege A3C2ED31 id A3C2ED3
  • pandas:将DataFrame最后一行除以第一行

    这个问题类似于Python Pandas 按第一行划分 DataFrame 我有一个数据框 如下所示 1125400 5430095 1095751 2013 04 02 98 91 NaN 5626 79 2013 04 03 99 29
  • 从 Java 执行 EXE 并从 EXE 获取输入和输出

    我有一个EXE file addOne exe它不断地从控制台上的用户输入一个整数 不是命令行参数 并输出整数 1到控制台上 示例输出如下所示 1 2 6 7 29 30 我正在尝试编写一个java程序 它可以 Run the EXE 不断