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