【发布时间】:2013-03-11 14:50:00
【问题描述】:
我在我的 jar 文件中打包了一个 exe,我试图将它复制到一个临时位置,以便我可以使用 Desktop.browse() 运行它,为此我使用 @987654323 使用输入流构造函数设置了一个扫描仪@,然后用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());
【问题讨论】:
-
请出示代码。制作简短而甜蜜,只有重要的部分:sscce.org
-
扫描仪用于阅读文本。 PrintWriter 用于写入文本。 exe文件是二进制文件。使用流。
-
您需要将 .exe 文件复制到新位置吗?
-
getResourceAsStream() 返回一个 InputStream。从此流中读取字节直到到达末尾,然后将它们写入 FileOutputStream。
标签: java jar exe java.util.scanner getresource