Поиск текстовых файлов в директории

JavaBeginner
Практиковаться сейчас

Введение

В этом проекте вы научитесь искать текстовые файлы в директории с использованием Java. В этом проекте вас проведет по процессу получения пути ввода от пользователя, проверки ввода, поиска всех текстовых файлов в директории и вывода их имен.

👀 Предварительный просмотр

Пожалуйста, введите путь для чтения:/home/labex/project/files
Найденные текстовые файлы:
file1.txt
file3.txt
file6.txt

🎯 Задачи

В этом проекте вы научитесь:

  • Как использовать класс Scanner для получения ввода пользователя для пути к директории
  • Как проверить введенный путь с использованием класса File
  • Как создать пользовательский FilenameFilter для фильтрации текстовых файлов
  • Как использовать метод listFiles() для поиска всех текстовых файлов в директории
  • Как перебирать найденные текстовые файлы и выводить их имена

🏆 Достижения

После завершения этого проекта вы сможете:

  • Получать ввод пользователя для пути к директории с использованием класса Scanner
  • Проверять введенный путь с использованием класса File
  • Реализовать пользовательский FilenameFilter для фильтрации текстовых файлов
  • Использовать метод listFiles() для получения всех текстовых файлов в директории
  • Перебирать найденные текстовые файлы и выводить их имена

Получить путь ввода

В этом шаге вы научитесь использовать класс Scanner для получения указанного пути от пользователя.

  1. Откройте файл SelectTxtFile.java в вашем редакторе кода.
  2. В методе main создайте новый объект Scanner для чтения ввода пользователя:
Scanner scanner = new Scanner(System.in);
  1. Отобразите сообщение-подсказку для пользователя, запрашивающее путь для чтения:
System.out.print("Please enter the read path:");
  1. Используйте метод nextLine() для чтения ввода пользователя и сохраните его в переменной path:
String path = scanner.nextLine();
  1. После чтения ввода закройте Scanner, чтобы освободить ресурсы:
scanner.close();

Проверить правильность вводимого пути

В этом шаге вы научитесь использовать класс File для проверки, является ли введенный путь действительной директорией.

  1. Создайте новый объект File с путем, предоставленным пользователем:
File directory = new File(path);
  1. Используйте метод exists() для проверки существования директории:
if (!directory.exists() ||!directory.isDirectory()) {
  1. Если директория не существует или не является директорией, выведите сообщение об ошибке и завершите программу:
    System.out.println("The directory does not exist, or it is not a directory");
    return;
}

Найти текстовые файлы в директории

В этом шаге вы научитесь использовать FilenameFilter для поиска всех текстовых файлов в директории.

  1. Создайте новый класс TxtFileFilter, который реализует интерфейс FilenameFilter:
static class TxtFileFilter implements FilenameFilter {
    @Override
    public boolean accept(File dir, String name) {
        return name.toLowerCase().endsWith(".txt");
    }
}
  1. Используйте метод listFiles() класса File для получения массива файлов в директории, отфильтровав их с использованием TxtFileFilter:
File[] files = directory.listFiles(new TxtFileFilter());

Напечатать найденные текстовые файлы

В этом последнем шаге вы научитесь перебирать найденные текстовые файлы и выводить их имена.

  1. Распечатайте заголовок, чтобы показать, что текстовые файлы были найдены:
System.out.println("Found text files:");
  1. Используйте цикл for-each для перебора массива files и распечатайте имя каждого файла:
for (File file : files) {
    System.out.println(file.getName());
}

Вот и все! Теперь вы завершили проект по поиску текстовых файлов в директории. Вы можете протестировать свою программу, запустив класс SelectTxtFile.

Проверка Java-программы для поиска файлов

В этом шаге мы проверим Java-программу для поиска файлов.

  1. Откройте терминал и скомпилируйте Java-файл с помощью команды javac:
javac SelectTxtFile.java
  1. После успешной компиляции Java-файла запустите скомпилированную программу с помощью команды java:
java SelectTxtFile
  1. При запуске Java-программы вас попросят ввести путь для чтения. Укажите путь к директории, в которой находятся текстовые файлы, и нажмите Enter.
  • Если директория не существует или не является директорией, вы получите сообщение с указанием проблемы.
  • Если директория действительна и содержит текстовые файлы, программа выведет имена найденных в этой директории текстовых файлов.

Вот пример ожидаемого вывода:

Please enter the read path:/home/labex/project/files
Found text files:
file1.txt
file3.txt
file6.txt

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

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.

✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться