Работа с каталогами
Если объект File представляет каталог, то его метод isDirectory() возвращает true. И поэтому можно получить его содержимое - вложенные подкаталоги и файлы с помощью методов list() и listFiles(). Получим все подкаталоги и файлы в определенном каталоге.
Замечание.
Для проверки работоспособности программы необходимо использовать интегрированную среду JDoodle (https://www.jdoodle.com/online-java-compiler-ide/ ) в режиме Advanced IDE. В этом режиме в левом окне, определяющем структуру проекта Java, необходимо создать несколько пустых папок и файлов (обведено красным, Рисунок 2). После этого запустить программу, приведенную ниже рисунка.
Рисунок 2 - Структура каталогов и файлов проекта
Пример.
Результат работы программы:
Замечание.
Если разработчик использует инсталлируемое программное обеспечение для выполнения программ на Java, то следует не забывать, что строка, указывающая путь должна иметь определенный синтаксис, например: "C://SomeDir//NewDir".
Теперь выполним еще ряд операций с каталогами, как удаление, переименование и создание.
Пример.
Результат работы программы:
Замечание.
К сожалению, при использовании онлайн интегрированных сред физически продемонстрировать результаты работы с каталогами не представляется возможным.
Работа с файлами
Работа с файлами аналогична работе с каталогами. Например, получим данные по одному из файлов (файл data, Рисунок 2).
Пример.
Результат работы программы:
Класс Files и интерфейс Path, класс Paths
Следует дополнительно остановиться на управлении файлами - их создании, переименовании и т.д. Ранее все подобные операции проводились с помощью класса File. Но в настоящее время создатели языка решили изменить работу с файлами и каталогами. Это произошло из-за того, что у класса File был ряд недостатков. Например, в нем не было метода copy(), который позволил бы скопировать файл из одного места в другое. Кроме того, в классе File было достаточно много методов, которые возвращали boolean-значения. При ошибке такой метод возвращает false, а не выбрасывает исключение, что делает диагностику ошибок и
установление их причин достаточно сложной.
Вместо единого класса File появились целых два класса и один интерфейс: Files, Paths, Path (интерфейс).
Класс Paths
Paths — это совсем простой класс с единственным статическим методом get(). Его создали исключительно для того, чтобы из переданной строки или URI получить объект типа Path. Другой функциональности у него нет.
Замечание.
URI (Uniform Resource Identifier) — унифицированный (единообразный) идентификатор ресурса. URI — последовательность символов, идентифицирующая абстрактный или физический ресурс. Представляет из себя символьную строку, позволяющую идентифицировать какой-либо ресурс: документ, изображение, файл, службу, ящик электронной почты и т. д. Однако прежде всего, речь идет о ресурсах сети Интернет.
Пример.
Достарыңызбен бөлісу: |