java - 以编程方式从 Java 的 Batch 或 Shell 脚本创建可执行二进制文件
问题描述
这不是关于创建批处理文件或从 java 执行批处理文件,而是从它们创建二进制文件。
我不太确定 Linux shell 脚本,但知道对于 Windows 批处理脚本,有一些程序,例如Batch to Exe Converter。但我想以编程方式进行。
假设我从一个文件中读取一个批处理文件的内容:
public static String loadFile(String filepath) {
List<String> lines = Collections.emptyList();
try
{
lines =
Files.readAllLines(Paths.get(filepath), StandardCharsets.UTF_8);
}
catch (IOException e)
{
e.printStackTrace();
}
String s = "";
for(String line:lines){
s += line + "\n"
}
return s;
}
现在我想将其转换为exe
.
目的
我的主要目的是从这些脚本创建小型可执行文件,用于一些小型自动化,而不是脚本本身。
例如:-
我有一个setup.bat
文件。
我有我的程序可以在每次进行任何更改(添加文件)时自动生成批处理,现在我还希望有可执行文件和脚本。
我也很好奇 Linux shell 脚本(创建可执行文件)是否可能发生类似的事情。
此外,我无法直接通过 Java 实现这一点,我们可以使用 JNI 来实现吗?
解决方案
推荐阅读
- fluentui-react - 不使用 TypeScript 时无法导入 IDropdownOption
- anylogic - 当资源空闲时为资源创建任务列表的方法
- c++ - 使用 stb_image.h 读取 PNG 会导致内存充满 NUL 字节
- c++ - 隐藏 std::function 的参数类型
- python - IndexError:在for循环上迭代字符串并按索引放置字符
- swift - 为什么我可以将 [UInt8] 类型传递给 UnsafePointer
类型参数? - foreach - Terraform 14.2:“错误:无效索引:该值没有任何索引”在销毁时间资源上的销毁时间供应商上
- mysql - 使用 sqoop2 将 MYSQL 数据注入 S3 存储桶
- javascript - 为什么在下面的 JS 代码中,在 setItem 之前使用了 Local Storage 对象的 getItem 方法?
- javascript - 如何从 php 接收这种类型的 javascript 数据?