4.7.2. Определение атрибутов файлов и каталогов

После того как вы создали объект класса File, нетрудно определить атрибуты этого объекта, воспользовавшись соответствующими методами класса File.

С помощью метода exists вы можете проверить существование файла или каталога, для которого был создан объект класса File. Этот метод можно применять перед созданием потока на базе класса FileOutputStream, если вамнужно избежать случайной перезаписи существующего файла. В этом случае перед созданием выходного потока класса FileOutputStream следует создать объект класса File, указав конструктору путь к файлу, а затем проверить существование файла методом exists().

Методы canRead и canWrite позволяют проверить возможность чтения из файла и записи в файл, соответственно. Их полезно применять перед созданием соответствующих потоков, если нужно избежать возникновение исключений, связанных с попыткой выполнения доступа неразрешенного типа. Если доступ разрешен, эти методы возвращают значение true, а если запрещен - false.

С помощью методов isDirectory и isFile вы можете проверить, чему соответствует созданный объект класса File - каталогу или файлу.

Метод getName возвращает имя файла или каталога для заданного объекта класса File (имя выделяется из пути).

Метод getAbsolutePath возвращает абсолютный путь к файлу или каталогу, который может быть машинно-зависимым.

С помощью метода isAbsolute вы можете определить, соответствует ли данный объект класса File файлу или каталогу, заданному абсолютным (полным) путем, либо относительным путем.

Метод getPath позволяет определить машинно-независимый путь файла или каталога.

Если вам нужно определить родительский каталог для объекта класса File, то это можно сделать методом getParent.

Длину файла в байтах можно определить с помощью метода length.

Для определения времени последней модификации файла или каталога вы можете вызвать метод lastModified. Этот метод возвращает время в относительных единицах с момента запуска системы, поэтому его удобно использовать только для относительных сравнений.

Метод toString возвращает текстовую строку, представляющую объект класса File.

Метод hashCode возвращает значение хэш-кода, соответствующего объекту File.

Для удаления ненужного файла или каталога вы должны создать соответствующий объект File и затем вызвать метод delete.

С помощью методов mkdir и mkdirs можно создавать новые каталоги. Первый из этих методов создает один каталог, второй - все подкаталоги, ведущие к создаваемому каталогу (то есть полный путь).

Для переименования файла или каталога вы должны создать два объекта класса File, один из которых соответствует старому имени, а второй - новому. Затем для первого из этих объектов нужно вызвать метод renameTo, указав ему в качестве параметра ссылку на второй объект.

В случае успеха метод возвращает значение true, при возникновении ошибки - false. Может также возникать исключение SecurityException.

Для сравнения объектов класса File вы должны использовать метод equals. Этот метод сравнивает пути к файлам и каталогам, но не сами файлы или каталоги.

С помощью метода list вы можете получить список содержимого каталога, соответствующего данному объекту класса File. В классе File предусмотрено два варианта этого метода - без параметра и с параметром. Первый из этих методов возвращает массив строк с именами содержимого каталога, не включая текущий каталог и родительский каталог. Второй позволяет получить список не всех объектов, хранящихся в каталоге, а только тех, что удовлетворяют условиям, определенным в фильтре filter класса FilenameFilter.