打开JAR文件中包含的PowerPoint文件

时间:2014-09-02 14:37:37

标签: java resources

我的一个资源文件是PowerPoint演示文稿,我想用PowerPoint打开演示文稿。如果我在Eclipse中运行代码一切正常,但如果我使用java -jar jarname.jar运行可执行文件.jar,PowerPoint表示它无法读取文件。

是否可以读取打包的资源文件?或者只是执行jar能够读取这些文件?如果是这样你会怎么做?将文件写入临时文件夹?

如果我在eclipse中运行,那么绝对的演示路径:

C:\Users\RPR\workspace\CommandLineExecuter\bin\blaa.pptx

运行可执行jar时的绝对路径:

C:\Users\RPR\workspace\CommandLineExecuter\file:\C:\Users\RPR\workspace\CommandLineExecuter\CommandLineExecuter.jar!\blaa.pptx

即使我将路径硬编码到C:\Users\RPR\workspace\CommandLineExecuter\CommandLineExecuter.jar!\blaa.pptx

,PowerPoint也无法读取该文件

我加载资源的代码:

File presentation = new File(CommandLineExecuter.class.getResource(
        "/blaa.pptx").getFile());

ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c",
        "cd & \"C:\\Program Files\\Microsoft Office\\Office15\\POWERPNT.exe\ "
                + presentation.getAbsolutePath());

1 个答案:

答案 0 :(得分:1)

如果您使用getResourceAsStream(),则可以从JAR中提取文件并将其放在PowerPoint可以访问的位置。

例如,create a temporary file并使用IOUtils.copy()将数据复制到指向临时文件的FileOutputStream

最后,将此临时文件路径传递给PowerPoint。