Один из моих файлов ресурсов - презентация PowerPoint, и я хочу открыть презентацию с помощью PowerPoint. Если я запустил код в Eclipse, все будет хорошо, но если я запустим исполняемый файл .jar с java -jar jarname.jar
, PowerPoint скажет, что он не может прочитать файл.Откройте файл PowerPoint, содержащийся в файле JAR
Можно ли читать файлы упакованных ресурсов? Или это только исполняющая банка, способная читать эти файлы? Если да, что бы вы сделали? Записать файл во временную папку?
Абсолютный путь к презентации, если я бегу в затмении:
C:\Users\RPR\workspace\CommandLineExecuter\bin\blaa.pptx
Абсолютный путь к презентации, если я запустить исполняемый банку:
C:\Users\RPR\workspace\CommandLineExecuter\file:\C:\Users\RPR\workspace\CommandLineExecuter\CommandLineExecuter.jar!\blaa.pptx
PowerPoint не умеет читать файл, даже если я жестко задал путь к C:\Users\RPR\workspace\CommandLineExecuter\CommandLineExecuter.jar!\blaa.pptx
Cod е, где я загрузить ресурс:
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());
Сообщите нам код, в который вы загружаете данный ресурс. –
Я добавил код. – XenonUnlimited
getResource(). GetFile() не делает то, что вы думаете. ОС не знает, как обратиться в файл jar. И для простого открытия документа, пусть ОС справится с этим. Взгляните на метод Desktop.open(). – Durandal