Получение inputstream от ресурса пути к классу (XML-файл)

Попробуйте приведенный ниже код:

var frags = _viewer.model.getFragmentList().fragments.fragId2dbId;
frags.forEach(function(frag){
  frag.forEach(function(dbId){
    if (dbId<0) return;
     dbids.push(dbId);
  });
});

В качестве альтернативы вы можете выполнить итерацию дерева экземпляров через API производных моделей для обработки сравнения на стороне сервера - подробности см. Здесь

77
задан Veera 27 April 2009 в 12:06
поделиться

4 ответа

ClassLoader.getResourceAsStream () .

Как указано в комментарии ниже, если вы находитесь в среде с несколькими ClassLoader (например, модульным тестированием, веб-приложениями и т. Д.), Вам может понадобиться использовать Thread.currentThread (). getContextClassLoader () . См. http://stackoverflow.com/questions/2308188/getresourceasstream-vs-fileinputstream/2308388#comment21307593_2308388 .

93
ответ дан 24 November 2019 в 10:54
поделиться

Это зависит от того, где именно находится файл XML. Находится ли он в папке источников (в «пакете по умолчанию» или в «корне») или в той же папке, что и класс?

В первом случае вы должны использовать « /file.xml "(обратите внимание на начальную косую черту), чтобы найти файл, и не имеет значения, какой класс вы используете, чтобы попытаться найти его.

Если файл XML находится рядом с каким-то классом, SomeClass.class.

12
ответ дан 24 November 2019 в 10:54
поделиться

ClassLoader.class.getResourceAsStream ("/ path / to / your / xml") и убедитесь, что ваш скрипт компиляции копирует файл xml в то место, где находится ваш CLASSPATH.

11
ответ дан 24 November 2019 в 10:54
поделиться

someClassWithinYourSourceDir.getClass (). GetResourceAsStream ();

6
ответ дан 24 November 2019 в 10:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: