Государственный



бет19/25
Дата05.04.2024
өлшемі4.07 Mb.
#497748
1   ...   15   16   17   18   19   20   21   22   ...   25
Java. Потоки ввода-вывода. Работа с файлами. Кравчук А.С., Кравчук А.И., Кремень Е.В

Работа с каталогами


Если объект 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 последовательность символов, идентифицирующая абстрактный или физический ресурс. Представляет из себя символьную строку, позволяющую идентифицировать какой-либо ресурс: документ, изображение, файл, службу, ящик электронной почты и т. д. Однако прежде всего, речь идет о ресурсах сети Интернет.
Пример.





Достарыңызбен бөлісу:
1   ...   15   16   17   18   19   20   21   22   ...   25




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет