Я создаю приложение Java с использованием Netbeans. В пункте меню «Помощь» мне необходимо открыть файл PDF. Когда я запускаю приложение через Netbeans, документ открывается, но при открытии через файл jar он не открывается. Есть ли что-нибудь, что можно сделать?
m_aboutItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Runtime rt = Runtime.getRuntime();
URL link2=getClass().getResource("/newpkg/Documentation.pdf");
String link=link2.toString();
link=link.substring(6);
System.out.println(link);
System.out.println(link2);
String link3="E:/new/build/classes/newpkg/Documentation.pdf";
try {
Process proc = rt.exec("rundll32.exe url.dll,FileProtocolHandler " + link3);
} catch (IOException ex) {
Logger.getLogger(Menubar1.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
Два выхода следующие:
E:/new/build/classes/newpkg/Documentation.pdf
file:/E:/new/build/classes/newpkg/Documentation.pdf
Рассмотрим приведенный фрагмент кода. При печати «ссылка» мы видим, что он точно такой же, как и жестко закодированный «ссылка 3» При использовании жестко закодированной ссылки 3 файл PDF открывается из приложения jar. Но когда мы используем ссылку, хотя она точно такая же, как 'link3', PDF не открывается.