gpt4 book ai didi

java - 如何从自定义 Java 桌面应用程序启动 NXP 产品 JCOPShell (jcshell.bat)

转载 作者:太空宇宙 更新时间:2023-11-04 15:12:58 24 4
gpt4 key购买 nike

我正在尝试创建一个桌面应用程序(用java创建),它将在内部运行jcshell(NXP的工具,用于与计算机上的安全元件SD卡交互)并产生输出。在 jcshell 中我将运行脚本文件。所以这个桌面应用程序也应该在内部启动 jcshell 并运行脚本文件。

我已经执行了 JCOP shell 命令,这些命令将通过 JCOP(NXP) 提供的 JCOP shell 工具 (jcshell.bat) 与安全元件 SD 卡进行通信。现在我需要创建一个 Windows 桌面应用程序,通过它我应该能够通过 jcshell.bat 运行 JCOP shell 命令。

Process processObj = Runtime.getRuntime().exec("cmd /C dir");

上面的代码将从命令提示符以及我的自定义 java 桌面应用程序返回相同的输出,并包含目录的详细信息。 我正在寻找类似的东西,但无法从我的 JavaDesktopApplication 运行 jcshell.bat。

对上述问题的任何帮助将不胜感激

我也尝试通过以下方式使用 ProcessBuilder,但无法获得预期的输出。在下面的数组列表中,第一个元素是我的批处理文件的路径,第二个元素是脚本文件的位置。我的意图是通过Windows应用程序运行脚本文件,即jcshell.bat,我使用JCOP提供的工具来运行它。以下是使用ProcessBuilder的代码。

ArrayList commandList = new ArrayList<String>();
commandList.add("C:\\Program Files\\NXP Semiconductors\\JCShell\\jcshell.bat");
commandList.add("./scripts/javatest.jcsh");‌​‌​
ProcessBuilder pb = new ProcessBuilder(commandList);
pb.redirectErrorStream(true);
Process p = pb.start();
String s;
BufferedReader stdout = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((s = stdout.readLine()) != null && !isCancelled()) {
publish(s);
System.out.println("OUTPUT == " + s);
}
if (!isCancelled()) {
status = p.waitFor();
}
p.getInputStream().close();
p.getOutputStream().close();
p.destroy();

最佳答案

答案就在这里.. [Stackoverflow] ( How to execute cmd commands via Java ) 感谢大家的支持...

关于java - 如何从自定义 Java 桌面应用程序启动 NXP 产品 JCOPShell (jcshell.bat),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21138079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com