Как прочитать файл ресурса из classpath в приложении BlackBerry?
Мне нужно прочитать файл ресурса из classpath в моем приложении BlackBerry. Структура каталогов моего проекта довольно распространена: в каталоге src есть 2 дочерних каталога, один представляет корневой каталог исходных пакетов, другой - корневой каталог ресурсов.
Когда я пытаюсь прочитать любой ресурс из classpath, метод Class.getResourceAsStream возвращает нуль
InputStream rStream = null;
String path = "/res/default_config.xml";
try {
rStream = getClass().getResourceAsStream(path);
} finally {
try {
if (rStream != null) {
byte[] data = IOUtilities.streamToBytes(rStream);
System.out.println(new String(data));
rStream.close();
}
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
Как правильно читать ресурс classpath?
3 ответа
И вы пытались поместить XML-файл непосредственно в папку src и использовать getClass(). GetResourceAsStream("default_config.xml");?
На самом деле не может воспроизвести.
Протестировано на симуляторе 8800 eJDE 4.2.1.
Файл был помещен в папку src/res/.
Я думаю, что вы указали неверный путь. Вы просто удаляете /
с начала указанного вами пути. Если вы указываете /
, тогда он проверит для вас папку ресурсов
Несмотря на то, что он генерируется как COD-файл для запуска на устройстве, JAR-файл также создается при каждой сборке. Возможно, стоит проверить, чтобы убедиться, что ваш XML-файл помещается в каталог, в котором вы ожидаете, поскольку вы определенно можете хранить ресурсы в подкаталогах своего приложения и извлекать их, используя getClass().getResourceArStream();