Работа с файлами не будет работать в Java Web Start - PullRequest
0 голосов
/ 27 октября 2011

Я создал эту программу, которая работает с файлами.Так как я сделал это для друга, я превратил его в приложение Java Web Start с файлом JNLP.

Когда я запускаю приложение через ANT (netbeans) без JNLP, оно работает просто отлично.Но когда запускается через JNLP (даже через netbeans), кнопка, которая должна выполнять необходимые действия, вместо этого ничего не делает (она просто остается в режиме «нажата», пока вы не отстанете от нее).

Я потратилчасы пытаются выяснить проблему, но безуспешно.

Вот проблемный метод:

public void copy (String path1, String path2) выдает IOException {

    File inputWorkbook = new File(inputFile);
    Path in = Paths.get(path1);
    Path out = Paths.get(path2);



    Workbook w;
    try {
        w = Workbook.getWorkbook(inputWorkbook);
    .
    .
    .

Если я не попытаюсь что-либо сделать с файлом inputWorkbook, все будет хорошо.Как только я пытаюсь использовать ЛЮБОЙ метод (например, w = Workbook.getWorkbook (inputWorkbook) или даже inputWorkbook.exsists ();), возникает проблема.Он даже не выдаст исключение, он просто ничего не делает ... Опять же, проблема возникает только тогда, когда программа запускается через файл JNLP.

Надеюсь, мне удалось объяснить проблему ... ЯЯ новичок в программировании.

Спасибо !!!

Адам

1 Ответ

2 голосов
/ 27 октября 2011

Приложения веб-запуска запускаются в изолированной программной среде безопасности, которая препятствует доступу к файловой системе.Вам нужно поставить цифровую подпись на свой хар, чтобы получить доступ к файловой системе, или использовать файл open api.См. http://download.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/faq.html#302 и http://download.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/examples.html#FileOpenService для получения дополнительной информации.

...