0

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

4

1 回答 1

1

I'd use a faster way of reading and writing the file:

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();
于 2012-10-04T16:45:41.837 回答