【发布时间】:2018-03-22 15:55:55
【问题描述】:
我正在尝试使用 java 创建一个工具,我想在其中嵌入和执行外部第三方 exe,并在我正在创建的工具中获取它的输出。
我的限制是我不能让用户在我正在运行该工具的系统上获取这个嵌入式 exe,因此它必须动态部署、执行并从中接收输出,然后在用户退出之前将其删除工具。 我的工具可以是 jar 或 exe。
有没有办法做到这一点?
【问题讨论】:
-
不,没有办法这样做,原因有二:第一,Java 应用程序是任何用户都可以检查的档案。第二,您必须将可执行文件写入单独的文件才能执行它,并且用户将能够在您这样做时复制它。
-
Runtime类可以启动子进程,从Runtime#exec(String)返回的Process对象可以创建子进程的输入/输出流。不确定如何实现文件存在的“隐蔽性”,这只是......不合理,除非它部署在单独的系统上,然后数据通过例如隧道传输。一个插座。
标签: java external executable