Тэги: файлы, Java, Excel, Apache.
Ранее мы рассматривали пример на тему Чтение данных из Excel. А сегодня узнаем, как можно сохранять данные в формате Excel. Для работы нам потребуются всё те же зависимости от Apache POI. Пример проекта на github прилагается.
Тэги: maven, Apache, Excel, Java.
Для чтения данных из файла Excel можно использовать библиотеку Apache POI. Эта библиотека позволяет читать как «старый» формат Excel 97-2003 (расширение файла .xls), так и «новый» (.xlsx). В качестве примера вы можете использовать проект на github.
Добавим в наш maven-проект необходимые зависимости.
Теперь напишем класс ExcelReader, состоящий из одного публичного метода read() и нескольких приватных.
Ранее мы рассматривали Создание zip-архивов, а теперь попробуем выполнить обратную операцию. Если у нас имеется zip-архив с файлами, то распаковать его мы можем следующим образом:
Мы создаём объект ZipFile из пакета java.util, в конструктор которому передаём полный путь до нашего архива. Все действия выполняем в конструкции try-with-resources, которая автоматически закроет ресурс, связанный с нашим архивом, в конце работы с ним.
Если нам нужно упаковать в zip-архив какую-то папку с файлами, то сделать это можно следующим образом:
Тут мы создаём объект File с полным путём до папки. Затем используем конструкцию try-with-resources для создания потоков вывода, которая автоматически закрывает эти потоки при выходе из блока. Мы сначала создаём файловый поток вывода FileOutputStream для записи файла с архивом, затем «обрачиваем» его потоком ZipOutputStream, который как раз и позволяет нам архивировать содержимое. По завершении работы программы zip-архив будет лежать на одном уровне с исходной директорией, называться он будет так же, только с расширением «.zip». Теперь рассмотрим метод zipFile().
Тэги: Spring Boot, rest, json, Java.
Тэги: Stream API, Java, Collections.
Предположим, у нас есть дата начала dateTill и дата окончания dateFrom некоторого временного диапазона. И нам нужно получить список, содержащий все даты из этого диапазона. Как это сделать? Есть два варианта.
Если у вас Java версии 9 или более поздняя, то можно использовать такой лаконичный вариант:
Метод LocalDate.datesUntil() порождает поток, начинающийся с указанной даты и заканчивающийся датой, переданной в этот метод в качестве параметра. Чтобы конечная дата также попала в выборку, прибавляем к ней ещё один день с помощью метода plusDays(). В конце превращаем этот поток в список, используя метод collect().
Тэги: алгоритмы, Stream API, файлы, Java.
При разработке приложений иногда бывает необходимо выбрать случайный элемент из некоторого множества. Предположим, что у нас есть список фруктов и нам нужно выбрать случайным образом один из них.
Сначала создадим генератор случайных значений SecureRandom. Можно также использовать и обычный Random, но первый выдаёт более случайные значения.
Тэги: Java.
Тэги: Java, многопоточность.
Kotlin, Java, Spring, Spring Boot, Spring Data, Spring AI, SQL, PostgreSQL, Oracle, H2, Linux, Hibernate, Collections, Stream API, многопоточность, чат-боты, нейросети, файлы, devops, Docker, Nginx, Apache, maven, gradle, JUnit, YouTube, руководство, ООП, алгоритмы, головоломки, rest, GraphQL, Excel, XML, json, yaml.