gpt4 book ai didi

java - 将二进制文件复制到 jar 之外

转载 作者:行者123 更新时间:2023-11-30 06:25:26 27 4
gpt4 key购买 nike

我的 jar 文件中打包了一个 exe,我试图将它复制到一个临时位置,以便我可以使用 Desktop.browse() 运行它,为此我设置了一个使用 class.getResourceAsStream 使用输入流构造函数扫描器,然后使用 printwriter 将所有内容写入文件。出现的问题说exe无效。我认为这是由于某些二进制数据丢失所致。如果有人可以提供帮助,请发表评论。

    Scanner sc = new Scanner(ClassBuilder.class.getResourceAsStream("jd-gui.exe"));
File copy = new File("C://users//Owner//Desktop//java//jd-gui.exe");
copy.createNewFile();
PrintWriter writer = new PrintWriter(copy);

while(sc.hasNextLine())
writer.println(sc.nextLine());

writer.flush();
writer.close();
sc.close();

Desktop.getDesktop().browse(copy.toURI());

最佳答案

如前所述,对二进制数据使用流。 Commons io 使复制流变得容易。像这样的东西:

InputStream in = getClass().getResourceAsStream("jd-gui.exe");
OutputStream out = new FileOutputStream("jd-gui.exe");
IOUtils.copy(in, out);

关于java - 将二进制文件复制到 jar 之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15558626/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com