Как прочитать файл ресурса из 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();

Другие вопросы по тегам