2012-03-22 3 views
0

Я хочу открыть файл справки .chm при нажатии кнопки «Справка». Когда я делаю это в eclipse, он работает хорошо. но когда я создаю исполняемый файл jar, то он дает ошибку, которая «не может открыть файл». это мой код:Как открыть файл справки в исполняемом банке

String path = Toolkit.getDefaultToolkit().getClass().getResource("/resources/UserAccountHelpNew.chm").getPath(); 

    String path1 = path.substring(1); 
    System.out.println(path1); 

    try { 
     Process process = Runtime.getRuntime().exec("hh.exe "+path1); 
     process.waitFor(); 
    } catch (InterruptedException e) { 

     e.printStackTrace(); 
    } catch (IOException e) { 

     e.printStackTrace(); 
    } 

ответ

1

Hh.exe не может открыть файлы в баночке. Вам нужно либо написать код, копируя содержимое Toolkit.getDefaultToolkit().getClass().getResource("/resources/UserAcountHelpNew.chm") в место в файловой системе, либо распространять этот файл вместе с исполняемой банкой.

Причина, по которой он работает в Eclipse, заключается в том, что у вас, вероятно, есть файл в файловой системе. Когда ваш рабочий каталог изменяется, hh.exe больше не может найти файл.

+0

Непонятно, что вы хотите сказать – Vinay

+0

@Vinay Проверьте выходные данные 'Toolkit.getDefaultToolkit(). GetClass(). GetResource ("/resources/UserAccountHelpNew.chm "). GetPath()' (например, System.out.println (Toolkit.getDefaultToolkit(). GetClass(). getResource ("/ ресурсы/UserAccountHelpNew.chm"). GetPath()) '). Обратите внимание, что путь, который вы получаете, не указывает на файл на вашем жестком диске. –

+0

Да, я понял. но что мне делать? как я могу открыть его? – Vinay

Смежные вопросы