从 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 获取输入和输出 的相关文章

  • Android 和 Java Uuid

    我想为我的应用程序生成一个uuid 我尝试了很多东西 例如wifi mac地址 获取android id 序列号 从设备创建伪uuidandroid os Build特性 我还知道java本身有Uuid创建者类java util UUID
  • 为什么春季测试失败,不起作用@MockBean

    我尝试为一个简单的 spring boot 控制器创建我的第一个测试 但我得到Handler Type null 在浏览器中代码可以工作 但测试失败 我的应用程序使用 spring security 请帮助我解决问题并理解我的错误 谢谢 这
  • 转置矩阵存储在一维数组中,无需使用额外的内存[重复]

    这个问题在这里已经有答案了 可能的重复 矩阵的就地转置 https stackoverflow com questions 9227747 in place transposition of a matrix 最近参加了技术笔试 通过以下问
  • 在 Java 代码中存储加密密钥? [复制]

    这个问题在这里已经有答案了 我正在使用 JASYPT 在我们基于 Java 的软件中对密码进行加密解密 这就是我们加密密码的方法 StrongTextEncryptor textEncryptor new StrongTextEncrypt
  • 通过单击 imageView 打开活动

    我正在尝试做一个ImageView打开另一个活动 public class MainActivity extends Activity Override protected void onCreate Bundle savedInstanc
  • 使用具有不同参数的 Jackson for List 将 JSON 映射到 pojo

    JSON 格式 0 cast showname woh pagle type Episodes video src video mp4 DRM False 这里的问题是我遇到以下异常 org codehaus jackson map Jso
  • Java:输入/使用“try-catch”块的开销?

    这个问题说明了一切 尽管命中率不是很高 我测得速度慢了 1 5 倍到 2 倍 但使用 try catch 的字节码和不使用 try catch 的字节码之间没有区别 那么是什么让它通常变慢呢 PL 请注意 问题不是抛出异常的开销 而是进入
  • Unwrap 当使用 Collectors maxBy 和 groupingBy 时可选

    我有一堂课 有一个String and an int field public class Data private String name private int value private Data String name int va
  • 从命令行进行 Liquibase 回滚不起作用

    我正在 Windows 环境中执行一个 Tomcat 应用程序 部署时会在 Oracle 数据库上创建 更新数据库架构 为此 我使用 Liquibase SDK 3 3 2 所以基本上我调用 SDK 并告诉它从我的changelog xml
  • 从文件夹中读取java文件

    我开发了一个应用程序 可以从用户选择的文件夹中读取文件 它显示每个文件中有多少行代码 我只想在文件选择器中显示 Java 文件 具有 java 扩展名的文件 下面是我的代码 public static void main String ar
  • Java 8 LocalDate Jackson 格式

    For java util Date当我做 JsonFormat shape JsonFormat Shape STRING pattern dd MM yyyy private Date dateOfBirth 然后在我发送时在 JSON
  • 使用 jsch 将远程服务器中的目录移动到同一远程服务器中的另一个位置

    我正在使用 JSCH API 通过 sftp 连接到远程服务器 我需要将远程服务器中的目录从位置 A 移动到位置 B 看起来像方法channelsftp put src dest 只允许移动文件而不移动目录 有人可以解释一下我该怎么做吗 您
  • Apache PDFBox 旋转 PDImageXObject

    我正在使用 2 0 0 SNAPSHOT 我想将页面设置为横向并旋转我的图片 所以我已经做到了page setRotation 90 使用 PDFBox 和 AffineTransform 似乎存在错误 这段代码没有做任何我期望的事情 Af
  • 纹理映射和光照顶点着色器错误 Java OpenGL

    我正在尝试将纹理映射到 3D 立方体并尝试编写着色器以使其具有照明和纹理 我尝试过只编写纹理着色器并且它有效 我还尝试过仅将 3D 值设置为红色的照明着色器 并且该照明着色器也可以工作 但当我尝试将两者结合起来时 我遇到了问题 我在下面提供
  • 从 java 反射中隐藏我的安全密钥

    下面的类是我用于加密的安全密钥提供程序 public class MySecretKey private String key 2sfdsdf7787fgrtdfg cj5 Some Util methods goes on Here 首先
  • Java中C是A的子类时“C c = new C()”和“A c = new C()”的区别

    假设我们有类 A 作为父类 以及扩展它的类 C class A void m System out println A m class C extends A Override void m System out println C m 和
  • java 未知深度的嵌套哈希图

    我有一个要求 我需要有一个嵌套的哈希图 但深度将在运行时决定 例如 如果在运行时 用户说 3 那么我的哈希图应该是这样的 HashMap
  • 如何在 JTextArea 中设置部分文本颜色?

    我想为文本区域中的特定行设置颜色 到目前为止我发现的是以下内容 Declarations private final DefaultStyledDocument document private final MutableAttribute
  • Hibernate 对于 Android 应用程序来说是一种杀伤力吗? [复制]

    这个问题在这里已经有答案了 我正在为我的 Android 应用程序寻找一个好的 ORM 乍一看似乎对于移动设备我更喜欢使用更简单的东西 问题是我只是在这里假设 没有真正的证据 所以我想我应该询问社区的意见 也许有人有过这样的经历 它是一个相
  • 为什么 java.io.File 没有 close 方法?

    While java io RandomAccessFile确实有一个close method java io File没有 这是为什么 文件在完成时会自动关闭吗 javadoc 的Fileclass 将该类描述为 文件和目录路径名的抽象表

随机推荐

  • 将字典保存到 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 不断