Java Ready | Программирование
8.89K subscribers
1.22K photos
60 videos
1 file
599 links
Авторский канал по разработке на Java.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/java_ready
Download Telegram
Подсчёт количества дней между двумя датами!

Java умеет работать с датами без ручной арифметики. Можно вычислить разницу между любыми двумя датами.

Создаём две даты через LocalDate:
var start = java.time.LocalDate.of(2025, 1, 10);
var end = java.time.LocalDate.of(2025, 3, 2);


Считаем разницу в днях через ChronoUnit:
long days = java.time.temporal.ChronoUnit.DAYS.between(start, end);
System.out.println("Дней прошло: " + days);


Можно вывести разницу в неделях и месяцах:
long weeks  = java.time.temporal.ChronoUnit.WEEKS.between(start, end);
long months = java.time.temporal.ChronoUnit.MONTHS.between(start, end);

System.out.println("Недель: " + weeks);
System.out.println("Месяцев: " + months);


🔥 Такой подход даёт точные результаты, учитывая високосные годы и длину месяцев.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍6🔥4
👩‍💻 Делаем скриншот экрана через Robot!

Сегодня покажу, как на чистой Java без библиотек снять скриншот всего экрана и записать его в файл.

В этом посте:
Подключаем Robot и Toolkit для захвата экрана;

Делаем скрин всего монитора;

Сохраняем в PNG через ImageIO.


Удобно для логов ошибок, автотестов GUI или просто пранков.

👉 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥175👍5🤝1
Создание CSV-файла с данными!

CSV — самый простой формат хранения таблиц. Строки это записи, значения разделяются запятыми. Java позволяет создать такой файл без библиотек.

Готовим список строк, которые попадут в CSV:
var rows = java.util.List.of(
"name,age,city",
"Alice,22,Paris",
"Bob,30,Berlin"
);


Преобразуем строки в единый текст:
var csv = String.join("\n", rows);


Сохраняем CSV-файл в проект:
java.nio.file.Files.writeString(
java.nio.file.Path.of("users.csv"),
csv
);


🔥 В итоге получаем готовый файл users.csv, который можно открыть в Excel, Numbers или Google Sheets.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥135👍4
👩‍💻 Разбираем PriorityQueue — структура, которая сама решает, кто должен быть первым!

Это не просто список, это очередь автоматически сортирует элементы и выдаёт самый важный или самый маленький элемент без лишних действий.

Использование собственной сортировки позволяет строить свои правила. Числа, строки, объекты всё можно ранжировать через компаратор. Очередь превращается в гибкий инструмент, который помогает точно управлять порядком обработки данных.


👉 Java Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍6🔥4🤝3
👩‍💻 Получаем текущее время по IP-адресу!

Через публичный API можно узнать, в какой временной зоне находится IP-адрес и какое у него сейчас локальное время.

В этом посте:
Формируем URL с IP-адресом;

Отправляем HTTP-запрос и получаем JSON;

Выводим временную зону и текущее время.


В задаче используется HttpClient из стандартной библиотеки и простой парсинг JSON-строки без сторонних зависимостей.

👉 Java Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍64
Хочешь создать свою собственную аннотацию?

Аннотации помогают навешивать метаданные на классы и методы и ты можешь делать свои, как у Spring, Lombok или JUnit.

Создаём аннотацию:
public @interface Todo {
String value();
}


Используем на методе:
@Todo("переписать логику позже")
public void process() {}


Добавляем параметры:
public @interface Info {
String author();
int version() default 1;
}


🔥 Собственные аннотации это путь к своим мини-фреймворкам, утилитам и удобной маркировке кода без лишних комментариев.

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥114👍4
👩‍💻 Работаем с системным буфером обмена!

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

В этом посте:
Копируем строку в буфер;

Читаем текст из Clipboard;

Проверяем доступность буфера.


Такой подход отлично подходит для макросов, автозаполнения, CLI-инструментов и любых приложений.

👉 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥8👍4