Чтение файла на моих исходных статических ресурсах всегда равно нулю

Может кто-нибудь объяснить мне, как я читаю свой jrxml как входной поток под моими статическими ресурсами.

Это мой загруженный путь ресурса

registry.addResourceHandler("/resources/**").addResourceLocations("WEB-INF/resources/");

под ресурсами у меня есть папка отчетов, в папке отчетов у меня есть samplereport.jrxml

я использую эти коды, но он всегда выдает исключение filenotfound

Resource resource = new ClassPathResource("/reports/samplereport.jrxml");
    InputStream resourceInputStream = resource.getInputStream();

Я попробовал это и переместил свой файл samplereport.jrxml по тому же пути своего класса, и он работает.

InputStream employeeReportStream
      = this.getClass().getResourceAsStream("/samplereport.jrxml");

Но я не хочу работать на этом пути. Заранее спасибо.

java,spring,spring-mvc,inputstream,

0

Ответов: 3


1

Удалите косую черту перед отчетами, как показано ниже.

Resource resource = new ClassPathResource("reports/samplereport.jrxml");

Для получения дополнительной информации о загрузке файлов обратитесь к URL-адресу ниже.

https://www.mkyong.com/java/java-read-a-file-from-resources-folder/

Как загрузить файл из папки ресурсов?


0

вы можете использовать ResourceUtilsкласс для чтения мест ресурсов для файлов в файловой системе.

File file = ResourceUtils.getFile("classpath:reports/file1.txt")

 //File is found
System.out.println("File Found : " + file.exists());

//Read File Content

String content = new String(Files.readAllBytes(file.toPath()));

System.out.println(content);

Но, если вы используете Spring, то ResourceUtilsпомогает только класс. ( java.lang.Object.org.springframework.util.ResourceUtils)


0

Вы можете ошибиться в этом пути:

registry.addResourceHandler("/resources/**").addResourceLocations("/WEB-INF/resources/");

вместо

registry.addResourceHandler("/resources/**").addResourceLocations("WEB-INF/resources/");
Java, весна, весна-MVC, InputStream,
Похожие вопросы
Яндекс.Метрика