Java читает список файлов из папки и преобразует его в класс Spring CommonsMultipartFile

У меня есть папка «C: \ data» с большим количеством файлов PDF, и я хочу преобразовать эти файлы в класс пружины CommonsMultipartFile.

В моем проекте я использую класс Spring CommonsMultipartFile, чтобы читать файл из запроса и манипулировать им. Я предпочитаю повторно использовать этот проект также для файлов - класс java.

Я сделал:

File folder = new File(path);
File[] listOfFiles = folder.listFiles();

и я хочу преобразовать в: Список CommonsMultipartFile;

Спасибо!!!

Список CommonsMultipartFiles? Вот статья о том, как его преобразовать: stackoverflow.com/questions/16648549/…

Beri 21.10.2018 11:18

Я читал этот ответ раньше. Я хочу найти способ сделать это элегантно для папки с более чем 1000 файлами. эти примеры делают преобразование для каждого файла

e leibowitz 21.10.2018 11:26

В моем понимании у вас здесь неправильный подход. В вашем контроллере вы получаете CommonsMultipartFile, но вы передаете в свою службу File или byteStream. Таким образом вы можете создать второй тест / приложение, которое использует ту же службу, но передает файлы с диска. Таким образом вы можете зафиксировать контроллер, поскольку это всего лишь уровень для передачи данных в вашу службу, он не должен содержать никакой повторно используемой логики, а только делегировать данные другим компонентам.

Beri 21.10.2018 19:14

Я объясню ситуацию: у меня есть контроллер, который содержит файлы в запросе, и я анализирую его до списка CommonsMultipartFile. после того, как я использую некоторые функции utils для данных, которые работают в CommonsMultipartFile. Я хочу проделать то же самое и с файлами с диска. по этой причине я хочу преобразовать файлы в CommonsMultipartFile.

e leibowitz 22.10.2018 12:47

Зачем вам нужен CommonsMultipartFile вместо MultipartFile? Что касается элегантного способа потоковой передачи, это будет Arrays.stream (folder.listFiles ()). Map (this :: mapToMultipartFi‌ файл) .forEach (this :: pr‌ ocessFile), когда вы обрабатываете все как поток, вы будете работать с одним файлом за раз, поэтому независимо от того, сколько у вас есть, это не имеет значения.

Beri 22.10.2018 12:59
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
170
0

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