从jar中提取后,exe会出错

时间:2012-10-04 16:41:23

标签: java jar exe

我正在使用我的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而不会破坏它?

1 个答案:

答案 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();