JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
new
Навчання
Курси
Задачі
Опитування
Ігри
Допомога
Графік стусанів
Стажування
Спільнота
Користувачі
Форум
Чат
Статті
Історії успіху
Дії
Відгуки
Передплати
Світла тема

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Проєкт File Organizer

    Kotlin SELF
    46 рівень, 0 лекція
    Фіксуємо контракт консольної утиліти File Organizer: які параметри приймає конфігурація ( sourceDir, targetDir, allowedExt, dryRun), які режими типобезпечно задаються через enum ( Mode, ConflictPolicy), як нормалізувати користувацьке введення ( trim(), lowercase()) і як виконувати fail-fast-валідацію через require() до будь-яких масових операцій із диском. Наприкінці окреслюємо модель результату ( OpResult) і каркас main.
    Відкрита
  • Обхід директорій: walkTopDown, фільтри та відносні шляхи

    Kotlin SELF
    46 рівень, 1 лекція
    Розбираємо безпечний «перший етап» File Organizer: як обійти дерево директорій через walkTopDown(), відфільтрувати лише файли за isFile, акуратно дістати розширення через lastIndexOf, нормалізувати його й порівняти з allowedExt, а потім побудувати відносний шлях усередині джерела за допомогою Path.relativize(...). Наприкінці збираємо модель CandidateFile і розбираємо типові помилки.
    Відкрита
  • Категорії, цільові шляхи та конфлікти

    Kotlin SELF
    46 рівень, 2 лекція
    Розбираємо «чисту» розкладку файлів як обчислення: як визначити категорію за розширенням через enum class Category, як безпечно зібрати цільовий шлях із Path і resolve(), а також як заздалегідь показати конфлікти імен у плані через PlanItem і PlannedConflict. Наприкінці — практичні нюанси ( relativize(), перевірка startsWith()) і типові помилки.
    Відкрита
  • Рушій масових операцій: copy/move, часткові помилки та результати

    Kotlin SELF
    46 рівень, 3 лекція
    Розбираємо, як побудувати «рушій» масових файлових операцій у Kotlin: подаємо обробку як конвеєр «план → операція над одним файлом → результат», вводимо модель результату OpResult і статуси Status, вчимося збирати статистику через groupBy, коректно обробляти конфлікти ( ConflictPolicy) і робити обробку живучою завдяки «вузькому» try/ catch на рівні одного елемента — зокрема й у випадках, коли renameTo() повертає false без винятку.
    Відкрита
  • Безпека та звітність

    Kotlin SELF
    46 рівень, 4 лекція
    Розбираємося, як зробити файлову утиліту надійнішою: додаємо режим dry-run (планування без реальних змін у файловій системі), пишемо простий журнал подій у файл через LocalDateTime, а підсумковий звіт формуємо окремо в памʼяті й зберігаємо атомарно — через тимчасовий файл і renameTo(). На практиці збираємо єдиний сценарій із cfg.dryRun, результатами OpResult та групуванням статусів через groupBy.
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush