Обход файлов и утилиты
Изучите утилиты java.nio: обход каталогов, просмотр списка файлов и копирование или перемещение файлов.
«Обход файлов и утилиты» — бесплатный урок Java Academy на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 3 уроков всего.
Введение
Утилиты для работы с файлами в java.nio позволяют перечислять, копировать, перемещать и удалять файлы. Files.walk() обходит каталоги.
Files.list
Files.list(path) перечисляет элементы каталога без рекурсивного обхода. Это удобно для быстрых проверок.
Код: перечисление каталога
Этот код перечисляет файлы в текущем каталоге.
import java.nio.file.*;
public class Main {
public static void main(String[] args) throws Exception {
Path dir = Paths.get(".");
java.nio.file.Files.list(dir)
.forEach(System.out::println);
}
}
Files.walk
Files.walk(path) рекурсивно обходит дерево каталогов и возвращает поток путей.
Код: обход дерева
Этот код обходит текущий каталог на глубину до двух уровней и выводит пути.
import java.nio.file.*;
public class Main {
public static void main(String[] args) throws Exception {
Path dir = Paths.get(".");
java.nio.file.Files.walk(dir, 2)
.forEach(System.out::println);
}
}
Код: копирование и перемещение
Files.copy и Files.move позволяют легко копировать и переименовывать файлы.
import java.nio.file.*;
public class Main {
public static void main(String[] args) throws Exception {
Path src = Paths.get("a.txt");
Path dest = Paths.get("b.txt");
java.nio.file.Files.copy(src, dest, StandardCopyOption.REPLACE_EXISTING);
System.out.println("Copied a.txt to b.txt");
java.nio.file.Files.move(dest, Paths.get("c.txt"), StandardCopyOption.REPLACE_EXISTING);
System.out.println("Moved b.txt to c.txt");
}
}
Проверка обхода
Быстрая проверка: какой метод может рекурсивно обойти дерево файлов?
Повторение
Повторение: используйте Files.list для одной папки, Files.walk для рекурсивного обхода, а Files.copy/move — для операций с файлами.
Часто задаваемые вопросы
Урок «Обход файлов и утилиты» бесплатный?
Да — полный текст урока «Обход файлов и утилиты» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 3 уроков всего.
Чему я научусь в уроке «Обход файлов и утилиты»?
Изучите утилиты java.nio: обход каталогов, просмотр списка файлов и копирование или перемещение файлов. Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.
Сколько времени занимает урок «Обход файлов и утилиты»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы сериализации
- Простая обработка CSV/JSON
- Обход файлов и утилиты