getCodeBase () дает нулевой указатель в апплете Java - PullRequest
0 голосов
/ 06 декабря 2011

Я создал апплет для чтения некоторой информации из файла на сервере.Я пытаюсь получить доступ к файлу, используя следующий код:

Properties Settings = new Properties();
settings.load(new URL(getDocumentBase(), "settings.ini")).openStream());

Внезапно, вторая строка выдает мне ошибку:

java.lang.NullPointerException
at java.applet.Applet.getDocumentBase(Unknown Source)

Мой апплет подписан, и я получаю доступэто через мой локальный хост. Почему я больше не могу использовать getDocumentBase?

Кстати, я использую опцию Netbeans Web Start для создания необходимых файлов (jars, html, jnlp), а затем перемещаю их на мой локальный сервер IIS.

РЕШЕНИЕ

Сейчас я загружаю INI-файл из банки:

Properties Settings = new Properties();
URL url = this.getClass().getResource("/myapplet/settings.ini");
settings.load(url.openStream());

Ответы [ 2 ]

1 голос
/ 06 декабря 2011

На первый взгляд, я ожидаю:

new URL(getCodeBase(), "settings.ini")

, поскольку getCodeBase дает URL-адрес каталога, getDocumentBase - HTML-URL.То, что это работало ранее, удивительно.Может быть, HTML-URL закончился? ... а вы читали HTML-страницу?

0 голосов
/ 30 января 2012

РЕШЕНИЕ

Я сейчас загружаю INI-файл из банки:

Properties Settings = new Properties();
URL url = this.getClass().getResource("/myapplet/settings.ini");
settings.load(url.openStream());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...