CSV-файлы в проектах есть везде: импорт, отчёты, админки. В этом посте покажу, как прочитать и распарсить CSV без зависимостей, используя только
Files.lines()
и Java Stream API
.Сегодня разберём:
• Как загрузить и распарсить CSV построчно.
• Извлечение заголовков и превращение данных в объекты.
• Применение это в реальных бэкендах и утилитах.
Используй для: парсинга отчётов, миграции данных, админ-утилит и API-обработки CSV.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤6👍4🤝3
Пишем утилиту, которая получает дату и выводит, как она будет выглядеть в формате США, Японии, Германии, Индии. Отличная практика работы с Locale, DateTimeFormatter и вводом с консоли.
В этом посте:
• Получаем дату с консоли.
• Используем DateTimeFormatter под каждую страну.
• Узнаём, где день пишется первым, а где год.
Задача помогает разобраться с Locale, форматами и обработкой дат в Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤9👍7
Копируем текст в буфер обмена!
Иногда нужно, чтобы программа автоматически скопировала что-то в буфер - ссылку, токен, пароль или результат.
Пример кода:
Теперь
👉 Java Ready | #практика
Иногда нужно, чтобы программа автоматически скопировала что-то в буфер - ссылку, токен, пароль или результат.
Toolkit.getDefaultToolkit
даёт Java доступ к ресурсам операционной системы, через getSystemClipboard
получаем буфер обмена, StringSelection
упаковывает строку в нужный формат, а setContents
уже помещает её в буфер.Пример кода:
import java.awt.*;
import java.awt.datatransfer.*;
String text = "Java"; // Текст для копирования
StringSelection data = new StringSelection(text); // Оборачиваем текст в объект для буфера обмена
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(data, null); // Копируем в буфер обмена
Теперь
text
уже в буфере обмена, и пользователь может просто нажать Ctrl+V. Удобно для генераторов, GUI-кнопок "Скопировать", логинов и DevTools.Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥7❤6
Группируй пользователей по ролям, считай количество заказов по статусам, строй распределения и собирай вложенные коллекции — всё в одну цепочку .stream().
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5❤4
Например,
код 200
означает, что всё прошло успешно, а 404
сообщает, что страница не найдена.Очень полезно держать под рукой, когда работаешь с API или отлаживаешь backend.
На картинке показаны самые часто используемые статусы от 100 до 599.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4❤1
❤10🔥7👍5
Она включает:
• Настройку WebSocket в Spring Boot через @EnableWebSocketMessageBroker
• Реализацию STOMP поверх WebSockets для двусторонней связи
• Контроллер, который принимает сообщения и рассылает уведомления клиентам
🔊 Продолжай читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5🔥4
Пишем утилиту, которая по длине маршрута рассчитывает, сколько примерно потребуется шагов и времени. Поможет для целей «10 000 шагов в день», планирования прогулок или просто трекинга активности.
В этом посте:
• Используем среднюю длину шага и скорость ходьбы.
• Переводим метры в шаги и минуты.
• Получаем понятную статистику для пользователя.
Конечно это "грубый" пример, но для не больших приложений подойдёт идеально!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍6🔥4👎1