2009-10-01 2 views
0

Мне нужно прочитать файл ресурсов из пути к классам в моем приложении BlackBerry. Структура каталогов моего проекта довольно распространена: в директории src есть 2 дочерних каталога, один представляет корневой каталог исходного кода, другой - root ресурсов.Как читать файл ресурсов из пути к классам в приложении BlackBerry?

Когда я пытаюсь прочитать любой ресурс из пути к классам Class.getResourceAsStream метода retures нуля

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()); 
     } 
    } 

Как я должен прочитать ресурс правильно пути к классам?

ответ

7

И вы пытались поместить файл xml непосредственно в папку src и использовать getClass(). GetResourceAsStream ("default_config.xml"); ?

На самом деле не удается воспроизвести.
Протестировано на тренажере 8800 eJDE 4.2.1.
Файл размещен в папке src/res /.

+0

Я работаю, когда передаю параметр «/default_config.xml» в качестве параметра. Ребятам RIM пришлось лениться, чтобы реализовать навигацию по пакетам классов ... o_O – nixau

+0

Спасибо за помощь, coldice – nixau

+1

:) Добро пожаловать! Но по какой-то причине он работает для меня, чтобы использовать путь класса /res/default_config.xml, и файл помещается в папку [project folder] \ src \ res. Другая особенность заключается в том, что мы должны обновить проект в eclipse, чтобы все ресурсы были скомпилированы правильно во время сборки. –

0

Несмотря на то, что он создан как файл COD для работы на устройстве, файл JAR также создается каждой сборкой. Возможно, стоит проверить, чтобы ваш xml-файл был помещен в каталог, в котором вы ожидаете, что он находится, поскольку вы можете определенно хранить ресурсы в подкаталогах вашего приложения и извлекать их с помощью getClass().getResourceArStream();

0

Я думаю, вы указали путь как неправильный путь. Вы просто удалите / с начала указанного вами пути. Если вы указываете /. то он проверит вашу папку с ресурсами

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

  • Нет связанных вопросов^_^