我正在使用我的jar上的其他资源打包.exe,并使用以下代码提取它:
InputStream program=getClass().getResourceAsStream("/program.exe");
try {
FileOutputStream output=new FileOutputStream("C:\\Users\\Aitor\\Desktop\\program.exe");
int b;
while ((b=program.read())!=1)
{
output.write(b);
}
output.close();
} catch (IOException e) {
e.printStackTrace();
}
但是我尝试执行生成的exe,我得到一个错误,说该存档的版本与我正在使用的Windows版本不兼容。如何从jar中提取exe而不会破坏它?
答案 0 :(得分:1)
我使用更快的方式来读写文件:
FileOutputStream output=new FileOutputStream("C:\\Users\\Aitor\\Desktop\\program.exe");
int b = 0;
byte[] buff = new byte[1024];
while ((b=program.read(buff))>=0)
{
output.write(buff, 0, b);
}
output.close();