Чтение элементов с помощью getResourceAsStream()JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Чтение элементов с помощью getResourceAsStream()

Сообщение Anonymous »

Я работал над библиотекой, которая требовала рекурсивного сканирования указанного пакета для поиска классов. В примере ниже я передаю пакет «by.smertex». Когда я работал без Tomcat, этот класс работал нормально и находил классы в данном пакете. Однако при использовании его с Tomcat поток становится нулевым. Как решить эту проблему?
Код:

Код: Выделить всё

public class ClassFinderBasicRealisation implements ClassFinder {
private List> findClasses(String componentPath) {
List objects = objectInDirectory(componentPath);
List> getClasses() {
return allClassInProject;
}

private List objectInDirectory(String componentPath) {
try (var stream = ClassLoader.getSystemClassLoader()
.getResourceAsStream(componentPath.replaceAll("[.]", "/"));
var reader = new BufferedReader(new InputStreamReader(stream))) {

return reader.lines().collect(Collectors.toList());

} catch (NullPointerException e) {
throw new ComponentDirectoryIsEmpty(e);
} catch (IOException e) {
throw new LoadComponentException(e);
}
}

private List> recursiveTraversal(List objects, String componentPath) {
return objects.stream()
.filter(line -> !line.contains("."))
.map(directory -> findClasses(pathMerging(componentPath, directory)))
.flatMap(Collection::stream)
.collect(Collectors.toList());
}
}
Я попробовал использовать «Thread.currentThread().getContextClassLoader()» и «getClass().getClassLoader()», чтобы получить ClassLoader, и подумал, что проблема может быть связана с этим< /п>

Подробнее здесь: https://stackoverflow.com/questions/792 ... ceasstream
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»