Spec-Zone.ru › OpenJDK 25

Класс File

java.lang.Object
java.io.File
Все реализуемые интерфейсы:
Serializable, Comparable<File>
public class File extends Object implements Serializable, Comparable<File>
Абстрактное представление путей к файлам и каталогам.

Пользовательские интерфейсы и операционные системы используют зависящие от системы строки путей для именования файлов и каталогов. Этот класс предоставляет абстрактное, независимое от системы представление иерархических путей. Абстрактный путь состоит из двух компонентов:

  1. Необязательная зависящая от системы строка префикса, например обозначение диска, "/" для корневого каталога UNIX или "\\\\" для пути UNC в Microsoft Windows, и
  2. Последовательность из нуля или более строковых имен.
Первое имя в абстрактном пути может быть именем каталога или, в случае путей UNC в Microsoft Windows, именем хоста. Каждое последующее имя в абстрактном пути обозначает каталог; последнее имя может обозначать как каталог, так и файл. Пустой абстрактный путь не имеет префикса и содержит пустую последовательность имен. Обращение к файлу по пустому абстрактному пути эквивалентно обращению к каталогу текущего пользователя.

Преобразование строки пути в абстрактный путь и обратно по своей природе зависит от системы. При преобразовании абстрактного пути в строку пути каждое имя отделяется от следующего одним символом-разделителем по умолчанию. Символ-разделитель имен по умолчанию задается системным свойством file.separator и доступен в общедоступных статических полях separator и separatorChar этого класса. При преобразовании строки пути в абстрактный путь имена в ней могут разделяться символом-разделителем имен по умолчанию или любым другим символом-разделителем имен, поддерживаемым базовой системой.

Путь, как абстрактный, так и представленный строкой, может быть абсолютным или относительным. Абсолютный путь является полным: для определения местоположения обозначаемого им файла не требуется никакой другой информации. Относительный путь, напротив, необходимо интерпретировать с учетом информации, полученной из другого пути. По умолчанию классы пакета java.io всегда разрешают относительные пути относительно каталога текущего пользователя. Этот каталог задается системным свойством user.dir и обычно является каталогом, из которого была запущена виртуальная машина Java.

Если не указано иное, символические ссылки автоматически перенаправляются на целевой объект ссылки независимо от того, заданы ли они строкой пути или объектом File.

Родительский каталог абстрактного пути можно получить, вызвав метод getParent() этого класса; он состоит из префикса пути и всех имен в его последовательности, кроме последнего. Абсолютный путь каждого каталога является предком любого объекта File с абсолютным абстрактным путем, начинающимся с абсолютного пути этого каталога. Например, каталог, обозначаемый абстрактным путем "/usr", является предком каталога, обозначаемого путем "/usr/local/bin".

Понятие префикса используется для обработки корневых каталогов на платформах UNIX, а также обозначений дисков, корневых каталогов и путей UNC на платформах Microsoft Windows следующим образом:

  • На платформах UNIX префикс абсолютного пути всегда равен "/". У относительных путей префикса нет. Абстрактный путь, обозначающий корневой каталог, имеет префикс "/" и пустую последовательность имен.
  • На платформах Microsoft Windows префикс пути, содержащего обозначение диска, состоит из буквы диска, за которой следует ":" и, возможно, "\\", если путь абсолютный. Префикс пути UNC — "\\\\"; имя хоста и имя общего ресурса являются первыми двумя именами в последовательности имен. Относительный путь, в котором не указан диск, не имеет префикса.

Экземпляры этого класса могут обозначать или не обозначать реальный объект файловой системы, например файл или каталог. Если такой объект существует, он находится в разделе. Раздел — это зависящая от операционной системы часть хранилища, предназначенная для файловой системы. Одно устройство хранения (например, физический диск, флеш-память или CD-ROM) может содержать несколько разделов. Объект, если он существует, находится в разделе, именуемом одним из предков абсолютной формы этого пути.

Файловая система может ограничивать определенные операции с реальным объектом файловой системы, например чтение, запись и выполнение. Такие ограничения в совокупности называются правами доступа. Файловая система может задавать для одного объекта несколько наборов прав доступа. Например, один набор может применяться к владельцу объекта, а другой — ко всем остальным пользователям. Права доступа к объекту могут привести к сбою некоторых методов этого класса.

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

Взаимодействие с пакетом java.nio.file

Пакет java.nio.file определяет интерфейсы и классы, позволяющие виртуальной машине Java обращаться к файлам, атрибутам файлов и файловым системам. Этот API может помочь преодолеть многие ограничения класса java.io.File. Метод toPath можно использовать для получения объекта Path, использующего абстрактный путь, представленный объектом File, для поиска файла. Полученный объект Path можно использовать с классом Files, чтобы получить более эффективный и расширенный доступ к дополнительным операциям с файлами и атрибутам файлов, а также к исключениям ввода-вывода, помогающим диагностировать ошибки при сбое операции с файлом.

Начиная с:
1.0
См. также:
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final String pathSeparator
Зависящий от системы символ-разделитель путей, представленный в виде строки для удобства.
static final char pathSeparatorChar
Зависящий от системы символ-разделитель путей.
static final String separator
Зависящий от системы символ-разделитель имен по умолчанию, представленный в виде строки для удобства.
static final char separatorChar
Зависящий от системы символ-разделитель имен по умолчанию.

Краткое описание конструкторов

Конструктор Описание
File(File parent, String child)
Создает новый экземпляр File из родительского абстрактного пути и строкового пути дочернего элемента.
File(String pathname)
Создает новый экземпляр File, преобразуя заданную строку пути в абстрактный путь.
File(String parent, String child)
Создает новый экземпляр File из строки пути родительского элемента и строки пути дочернего элемента.
File(URI uri)
Создает новый экземпляр File, преобразуя заданный URI file: в абстрактный путь.

Краткое описание методов

Модификатор и тип Метод Описание
boolean canExecute()
Проверяет, может ли приложение выполнить файл, обозначенный этим абстрактным путем.
boolean canRead()
Проверяет, может ли приложение прочитать файл, обозначенный этим абстрактным путем.
boolean canWrite()
Проверяет, может ли приложение изменить файл, обозначенный этим абстрактным путем.
int compareTo(File pathname)
Сравнивает два абстрактных пути в лексикографическом порядке.
boolean createNewFile()
Атомарно создает новый пустой файл, обозначенный этим абстрактным путем, только если файл с таким именем еще не существует.
static File createTempFile(String prefix, String suffix)
Создает пустой файл в каталоге временных файлов по умолчанию, используя заданные префикс и суффикс для формирования его имени.
static File createTempFile(String prefix, String suffix, File directory)
Создает новый пустой файл в указанном каталоге, используя заданные строки префикса и суффикса для формирования его имени.
boolean delete()
Удаляет файл или каталог, обозначенный этим абстрактным путем.
void deleteOnExit()
Запрашивает удаление файла или каталога, обозначенного этим абстрактным путем, при завершении работы виртуальной машины.
boolean equals(Object obj)
Проверяет равенство этого абстрактного пути заданному объекту.
boolean exists()
Проверяет, существует ли файл или каталог, обозначенный этим абстрактным путем.
File getAbsoluteFile()
Возвращает абсолютную форму этого абстрактного пути.
String getAbsolutePath()
Возвращает строку абсолютного пути для этого абстрактного пути.
File getCanonicalFile()
Возвращает каноническую форму этого абстрактного пути.
String getCanonicalPath()
Возвращает строку канонического пути для этого абстрактного пути.
long getFreeSpace()
Возвращает количество нераспределенных байтов в разделе, именуемом этим абстрактным путем.
String getName()
Возвращает имя файла или каталога, обозначенного этим абстрактным путем.
String getParent()
Возвращает строку пути родительского каталога этого абстрактного пути или null, если этот путь не обозначает родительский каталог.
File getParentFile()
Возвращает абстрактный путь родительского каталога этого абстрактного пути или null, если этот путь не обозначает родительский каталог.
String getPath()
Преобразует этот абстрактный путь в строку пути.
long getTotalSpace()
Возвращает размер раздела, именуемого этим абстрактным путем.
long getUsableSpace()
Возвращает количество байтов, доступных этой виртуальной машине в разделе, именуемом этим абстрактным путем.
int hashCode()
Вычисляет хеш-код этого абстрактного пути.
boolean isAbsolute()
Проверяет, является ли этот абстрактный путь абсолютным.
boolean isDirectory()
Проверяет, является ли файл, обозначенный этим абстрактным путем, каталогом.
boolean isFile()
Проверяет, является ли файл, обозначенный этим абстрактным путем, обычным файлом.
boolean isHidden()
Проверяет, является ли файл, именуемый этим абстрактным путем, скрытым.
long lastModified()
Возвращает время последнего изменения файла, обозначенного этим абстрактным путем.
long length()
Возвращает длину файла, обозначенного этим абстрактным путем.
String[] list()
Возвращает массив строк с именами файлов и каталогов в каталоге, обозначенном этим абстрактным путем.
String[] list(FilenameFilter filter)
Возвращает массив строк с именами файлов и каталогов в каталоге, обозначенном этим абстрактным путем и соответствующих указанному фильтру.
File[] listFiles()
Возвращает массив абстрактных путей, обозначающих файлы в каталоге, обозначенном этим абстрактным путем.
File[] listFiles(FileFilter filter)
Возвращает массив абстрактных путей, обозначающих файлы и каталоги в каталоге, обозначенном этим абстрактным путем и соответствующих указанному фильтру.
File[] listFiles(FilenameFilter filter)
Возвращает массив абстрактных путей, обозначающих файлы и каталоги в каталоге, обозначенном этим абстрактным путем и соответствующих указанному фильтру.
static File[] listRoots()
Перечисляет доступные корневые каталоги файловой системы.
boolean mkdir()
Создает каталог, именуемый этим абстрактным путем.
boolean mkdirs()
Создает каталог, именуемый этим абстрактным путем, включая все необходимые несуществующие родительские каталоги.
boolean renameTo(File dest)
Переименовывает файл, обозначенный этим абстрактным путем.
boolean setExecutable(boolean executable)
Вспомогательный метод для установки права на выполнение для владельца этого абстрактного пути.
boolean setExecutable(boolean executable, boolean ownerOnly)
Устанавливает право на выполнение для владельца или всех пользователей этого абстрактного пути.
boolean setLastModified(long time)
Устанавливает время последнего изменения файла или каталога, именуемого этим абстрактным путем.
boolean setReadable(boolean readable)
Вспомогательный метод для установки права на чтение для владельца этого абстрактного пути.
boolean setReadable(boolean readable, boolean ownerOnly)
Устанавливает право на чтение для владельца или всех пользователей этого абстрактного пути.
boolean setReadOnly()
Устанавливает для файла или каталога, именуемого этим абстрактным путем, режим, разрешающий только операции чтения.
boolean setWritable(boolean writable)
Вспомогательный метод для установки права на запись для владельца этого абстрактного пути.
boolean setWritable(boolean writable, boolean ownerOnly)
Устанавливает право на запись для владельца или всех пользователей этого абстрактного пути.
Path toPath()
Возвращает объект java.nio.file.Path, созданный на основе этого абстрактного пути.
String toString()
Возвращает строку пути для этого абстрактного пути.
URI toURI()
Создает URI file:, представляющий этот абстрактный путь.
URL toURL()
Устарело.
Этот метод не выполняет автоматическое экранирование символов, недопустимых в URL.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание полей

separatorChar

public static final char separatorChar
Зависящий от системы символ-разделитель имён по умолчанию. Это поле инициализируется первым символом значения системного свойства file.separator. В системах UNIX значение этого поля — '/'; в системах Microsoft Windows — '\\'.
См. также:
  • System.getProperty(java.lang.String)

separator

public static final String separator
Зависящий от системы символ-разделитель имён по умолчанию, представленный для удобства в виде строки. Эта строка содержит один символ, а именно separatorChar.

pathSeparatorChar

public static final char pathSeparatorChar
Зависящий от системы символ-разделитель путей. Это поле инициализируется первым символом значения системного свойства path.separator. Этот символ используется для разделения имён файлов в последовательности файлов, заданной как список путей. В системах UNIX этим символом является ':'; в системах Microsoft Windows — ';'.
См. также:
  • System.getProperty(java.lang.String)

pathSeparator

public static final String pathSeparator
Зависящий от системы символ-разделитель путей, представленный для удобства в виде строки. Эта строка содержит один символ, а именно pathSeparatorChar.

Подробное описание конструкторов

File

public File(String pathname)
Создаёт новый экземпляр File, преобразуя заданную строку пути в абстрактный путь. Если заданная строка пуста, результатом будет пустой абстрактный путь.
Параметры:
pathname — строка пути
Выбрасывает:
NullPointerException — если аргумент pathname имеет значение null

File

public File(String parent, String child)
Создаёт новый экземпляр File из строки родительского пути и строки дочернего пути.

Если parent имеет значение null, новый экземпляр File создаётся так, как если бы для заданной строки пути child был вызван конструктор File с одним аргументом.

В противном случае строка пути parent обозначает каталог, а строка пути child — каталог или файл. Если строка пути child является абсолютной, она преобразуется в относительный путь способом, зависящим от системы. Если parent — пустая строка, новый экземпляр File создаётся путём преобразования child в абстрактный путь и разрешения результата относительно системного каталога по умолчанию. В противном случае каждая строка пути преобразуется в абстрактный путь, а дочерний абстрактный путь разрешается относительно родительского.

Параметры:
parent — строка родительского пути
child — строка дочернего пути
Выбрасывает:
NullPointerException — если child имеет значение null

File

public File(File parent, String child)
Создаёт новый экземпляр File из родительского абстрактного пути и строки дочернего пути.

Если parent имеет значение null, новый экземпляр File создаётся так, как если бы для заданной строки пути child был вызван конструктор File с одним аргументом.

В противном случае абстрактный путь parent обозначает каталог, а строка пути child — каталог или файл. Если строка пути child является абсолютной, она преобразуется в относительный путь способом, зависящим от системы. Если parent — пустой абстрактный путь, новый экземпляр File создаётся путём преобразования child в абстрактный путь и разрешения результата относительно системного каталога по умолчанию. В противном случае каждая строка пути преобразуется в абстрактный путь, а дочерний абстрактный путь разрешается относительно родительского.

Параметры:
parent — родительский абстрактный путь
child — строка дочернего пути
Выбрасывает:
NullPointerException — если child имеет значение null

File

public File(URI uri)
Создаёт новый экземпляр File, преобразуя заданный URI file: в абстрактный путь.

Точная форма URI file: зависит от системы, поэтому преобразование, выполняемое этим конструктором, также зависит от системы.

Для заданного абстрактного пути f гарантируется, что

new File( f.toURI()).equals( f.getAbsoluteFile())
при условии, что исходный абстрактный путь, URI и новый абстрактный путь созданы в одной и той же виртуальной машине Java (возможно, при разных её запусках). Однако это соотношение обычно не выполняется, когда URI file:, созданный в виртуальной машине на одной операционной системе, преобразуется в абстрактный путь в виртуальной машине на другой операционной системе.
Параметры:
uri — абсолютный иерархический URI со схемой "file", непустым компонентом пути и неопределёнными компонентами полномочий, запроса и фрагмента
Выбрасывает:
NullPointerException — если uri имеет значение null
IllegalArgumentException — если предварительные условия для параметра не соблюдены
Начиная с версии:
1.4
См. также:
  • toURI()
  • URI

Подробное описание методов

getName

public String getName()
Возвращает имя файла или каталога, обозначенного этим абстрактным путём. Это последнее имя в последовательности имён пути. Если последовательность имён пути пуста, возвращается пустая строка.
Возвращает:
Имя файла или каталога, обозначенного этим абстрактным путём, либо пустую строку, если последовательность имён этого пути пуста

getParent

public String getParent()
Возвращает строку пути родительского элемента этого абстрактного пути или null, если этот путь не указывает на родительский каталог.

Родительский элемент абстрактного пути состоит из префикса пути (если он есть) и всех имён в последовательности имён пути, кроме последнего. Если последовательность имён пуста, путь не указывает на родительский каталог.

Возвращает:
Строку пути родительского каталога, на который указывает этот абстрактный путь, или null, если этот путь не указывает на родительский элемент

getParentFile

public File getParentFile()
Возвращает абстрактный путь родительского элемента этого абстрактного пути или null, если этот путь не указывает на родительский каталог.

Родительский элемент абстрактного пути состоит из префикса пути (если он есть) и всех имён в последовательности имён пути, кроме последнего. Если последовательность имён пуста, путь не указывает на родительский каталог.

Возвращает:
Абстрактный путь родительского каталога, на который указывает этот абстрактный путь, или null, если этот путь не указывает на родительский элемент
Начиная с версии:
1.2

getPath

public String getPath()
Преобразует этот абстрактный путь в строку пути. В результирующей строке для разделения имён в последовательности имён используется default name-separator character.
Возвращает:
Строковое представление этого абстрактного пути

isAbsolute

public boolean isAbsolute()
Проверяет, является ли этот абстрактный путь абсолютным. Определение абсолютного пути зависит от системы. В системах UNIX путь является абсолютным, если его префикс — "/". В системах Microsoft Windows путь является абсолютным, если его префикс — обозначение диска, за которым следует "\\", или если его префикс — "\\\\".
Возвращает:
true, если этот абстрактный путь является абсолютным; в противном случае — false

getAbsolutePath

public String getAbsolutePath()
Возвращает строку абсолютного пути для этого абстрактного пути.

Если этот абстрактный путь уже является абсолютным, строка пути просто возвращается, как если бы был вызван метод getPath(). Если этот абстрактный путь является пустым абстрактным путём, возвращается строка пути текущего пользовательского каталога, заданного системным свойством user.dir. В противном случае этот путь разрешается способом, зависящим от системы. В системах UNIX относительный путь становится абсолютным после разрешения относительно текущего пользовательского каталога. В системах Microsoft Windows относительный путь становится абсолютным после разрешения относительно текущего каталога диска, указанного в пути (если он указан); в противном случае он разрешается относительно текущего пользовательского каталога.

Возвращает:
Строку абсолютного пути, указывающую на тот же файл или каталог, что и этот абстрактный путь
См. также:
  • isAbsolute()

getAbsoluteFile

public File getAbsoluteFile()
Возвращает абсолютную форму этого абстрактного пути. Эквивалентно new File(this.getAbsolutePath()).
Возвращает:
Абсолютный абстрактный путь, указывающий на тот же файл или каталог, что и этот абстрактный путь
Начиная с версии:
1.2

getCanonicalPath

public String getCanonicalPath() throws IOException
Возвращает строку канонического пути для этого абстрактного пути.

Канонический путь является абсолютным и уникальным. Точное определение канонической формы зависит от системы. При необходимости этот метод сначала преобразует путь в абсолютную форму, как если бы был вызван метод getAbsolutePath(), а затем отображает его в уникальную форму способом, зависящим от системы. Обычно это включает удаление избыточных имён, таких как "." и "..", разрешение символических ссылок и приведение букв дисков к стандартному регистру (на платформах Microsoft Windows).

Для каждого пути, обозначающего существующий файл или каталог, существует уникальная каноническая форма. Уникальная каноническая форма существует также для каждого пути, обозначающего несуществующий файл или каталог. Каноническая форма пути к несуществующему файлу или каталогу может отличаться от канонической формы того же пути после создания файла или каталога. Аналогично, каноническая форма пути к существующему файлу или каталогу может отличаться от канонической формы того же пути после удаления файла или каталога.

Возвращает:
Строку канонического пути, указывающую на тот же файл или каталог, что и этот абстрактный путь
Выбрасывает:
IOException — при возникновении ошибки ввода-вывода, что возможно, поскольку для построения канонического пути может потребоваться запрос к файловой системе
Начиная с версии:
1.1
См. также:
  • Path.toRealPath(LinkOption...)

getCanonicalFile

public File getCanonicalFile() throws IOException
Возвращает каноническую форму этого абстрактного пути. Эквивалентно new File(this.getCanonicalPath()).
Возвращает:
Строку канонического пути, указывающую на тот же файл или каталог, что и этот абстрактный путь
Выбрасывает:
IOException — при возникновении ошибки ввода-вывода, что возможно, поскольку для построения канонического пути может потребоваться запрос к файловой системе
Начиная с версии:
1.2
См. также:
  • Path.toRealPath(LinkOption...)

toURL

@Deprecated public URL toURL() throws MalformedURLException
Устарел.
Этот метод автоматически не экранирует символы, недопустимые в URL. В новом коде рекомендуется преобразовывать абстрактный путь в URL, сначала преобразовав его в URI с помощью метода toURI, а затем преобразовав URI в URL с помощью метода URI.toURL.
Преобразует этот абстрактный путь в URL file:. Точная форма URL зависит от системы. Если удаётся определить, что файл, обозначенный этим абстрактным путём, является каталогом, результирующий URL будет заканчиваться косой чертой.
Возвращает:
Объект URL, представляющий эквивалентный URL файла
Выбрасывает:
MalformedURLException — если путь не удаётся разобрать как URL
Начиная с версии:
1.2
См. также:
  • toURI()
  • URI
  • URI.toURL()
  • URL

toURI

public URI toURI()
Создаёт URI file:, представляющий этот абстрактный путь.

Точная форма URI зависит от системы. Если удаётся определить, что файл, обозначенный этим абстрактным путём, является каталогом, результирующий URI будет заканчиваться косой чертой.

Для заданного абстрактного пути f гарантируется, что

new File( f.toURI()).equals( f.getAbsoluteFile())
при условии, что исходный абстрактный путь, URI и новый абстрактный путь созданы в одной и той же виртуальной машине Java (возможно, при разных её запусках). Однако из-за зависимости абстрактных путей от системы это соотношение обычно не выполняется, когда URI file:, созданный в виртуальной машине на одной операционной системе, преобразуется в абстрактный путь в виртуальной машине на другой операционной системе.

Обратите внимание: если этот абстрактный путь представляет путь UNC, все компоненты UNC (включая имя сервера) кодируются в пути URI. Компонент полномочий не определён, то есть представлен как null. Класс Path определяет метод toUri, который кодирует имя сервера в компоненте полномочий результирующего URI. Метод toPath можно использовать для получения Path, представляющего этот абстрактный путь.

Возвращает:
Абсолютный иерархический URI со схемой "file", путём, представляющим этот абстрактный путь, и неопределёнными компонентами полномочий, запроса и фрагмента
Начиная с версии:
1.4
См. также:
  • File(java.net.URI)
  • URI
  • URI.toURL()

canRead

public boolean canRead()
Проверяет, может ли приложение читать файл, обозначенный этим абстрактным путём. На некоторых платформах виртуальную машину Java можно запустить со специальными привилегиями, позволяющими ей читать файлы, помеченные как недоступные для чтения. Поэтому этот метод может вернуть true, даже если файл не имеет разрешений на чтение.
Возвращает:
true тогда и только тогда, когда файл, указанный этим абстрактным путём, существует и доступен приложению для чтения; в противном случае — false

canWrite

public boolean canWrite()
Проверяет, может ли приложение изменять файл, обозначенный этим абстрактным путём. На некоторых платформах виртуальную машину Java можно запустить со специальными привилегиями, позволяющими ей изменять файлы, помеченные как доступные только для чтения. Поэтому этот метод может вернуть true, даже если файл помечен как доступный только для чтения.
Возвращает:
true тогда и только тогда, когда файловая система действительно содержит файл, обозначенный этим абстрактным путём, и приложению разрешена запись в этот файл; в противном случае — false.

exists

public boolean exists()
Проверяет, существует ли файл или каталог, обозначенный этим абстрактным путём.
Возвращает:
true тогда и только тогда, когда файл или каталог, обозначенный этим абстрактным путём, существует; в противном случае — false

isDirectory

public boolean isDirectory()
Проверяет, является ли файл, обозначенный этим абстрактным путём, каталогом.

Если необходимо отличить исключение ввода-вывода от случая, когда файл не является каталогом, или одновременно получить несколько атрибутов одного файла, можно использовать метод Files.readAttributes.

Возвращает:
true тогда и только тогда, когда файл, обозначенный этим абстрактным путём, существует и является каталогом; в противном случае — false

isFile

public boolean isFile()
Проверяет, является ли файл, обозначенный этим абстрактным путём, обычным файлом. Файл считается обычным, если он не является каталогом и, кроме того, соответствует другим критериям, зависящим от системы. Гарантируется, что любой файл, не являющийся каталогом и созданный приложением Java, является обычным файлом.

Если необходимо отличить исключение ввода-вывода от случая, когда файл не является обычным файлом, или одновременно получить несколько атрибутов одного файла, можно использовать метод Files.readAttributes.

Возвращает:
true тогда и только тогда, когда файл, обозначенный этим абстрактным путём, существует и является обычным файлом; в противном случае — false

isHidden

public boolean isHidden()
Проверяет, является ли файл, обозначенный этим абстрактным путём, скрытым. Точное определение понятия скрытый зависит от системы. В системах UNIX файл считается скрытым, если его имя начинается с точки ('.'). В системах Microsoft Windows файл считается скрытым, если в файловой системе он помечен соответствующим образом.
Примечание реализации:
Если файл является символической ссылкой, то в системах UNIX он считается скрытым, если с точки начинается имя самой ссылки, а не её целевого объекта. В системах Windows символическая ссылка считается скрытой, если в файловой системе так помечен её целевой объект.
Возвращает:
true тогда и только тогда, когда файл, обозначенный этим абстрактным путём, считается скрытым согласно соглашениям используемой платформы
Начиная с версии:
1.2

lastModified

public long lastModified()
Возвращает время последнего изменения файла, обозначенного этим абстрактным путём.
Примечание к API:
Хотя единицей измерения времени в возвращаемом значении являются миллисекунды, точность этого значения зависит от используемой файловой системы и может быть ниже. Например, некоторые файловые системы используют временные метки с точностью до секунды.

Если необходимо отличить исключение ввода-вывода от случая, когда возвращается 0L, одновременно получить несколько атрибутов одного файла или получить время последнего доступа либо время создания, можно использовать метод Files.readAttributes. Если же требуется только время последнего изменения, вместо него можно использовать метод Files.getLastModifiedTime.

Возвращает:
Значение long, представляющее время последнего изменения файла в миллисекундах с начала эпохи (00:00:00 GMT, 1 января 1970 года), или 0L, если файл не существует либо произошла ошибка ввода-вывода. Значение может быть отрицательным, указывая количество миллисекунд до начала эпохи

length

public long length()
Возвращает размер файла, обозначенного этим абстрактным путём. Если этот путь указывает на каталог, возвращаемое значение не определено.

Если необходимо отличить исключение ввода-вывода от случая, когда возвращается 0L, или одновременно получить несколько атрибутов одного файла, можно использовать метод Files.readAttributes.

Возвращает:
Размер файла, обозначенного этим абстрактным путём, в байтах или 0L, если файл не существует. Некоторые операционные системы могут возвращать 0L для путей, обозначающих системные объекты, например устройства или каналы.

createNewFile

public boolean createNewFile() throws IOException
Атомарно создаёт новый пустой файл с именем, заданным этим абстрактным путём, только если файл с таким именем ещё не существует. Проверка существования файла и его создание, если он не существует, выполняются одной операцией, атомарной относительно всех остальных операций файловой системы, которые могут повлиять на этот файл.

Примечание: этот метод не следует использовать для блокировки файлов, поскольку надёжно реализовать такой протокол невозможно. Вместо него следует использовать механизм FileLock.

Возвращает:
true, если файл с указанным именем не существует и был успешно создан; false, если файл с указанным именем уже существует
Выбрасывает:
IOException — если произошла ошибка ввода-вывода
Начиная с версии:
1.2

delete

public boolean delete()
Удаляет файл или каталог, обозначенный этим абстрактным путём. Если этот путь указывает на каталог, для его удаления каталог должен быть пустым. Если этот путь указывает на символическую ссылку, будет удалена сама ссылка, а не её целевой объект.

Обратите внимание: класс Files определяет метод delete, который выбрасывает IOException, если файл не удаётся удалить. Это полезно для сообщения об ошибке и диагностики причин, по которым файл невозможно удалить.

Возвращает:
true тогда и только тогда, когда файл или каталог успешно удалён; в противном случае — false

deleteOnExit

public void deleteOnExit()
Запрашивает удаление файла или каталога, обозначенного этим абстрактным путём, при завершении работы виртуальной машины. Если этот путь указывает на символическую ссылку, будет удалена сама ссылка, а не её целевой объект. Файлы (или каталоги) удаляются в порядке, обратном порядку их регистрации. Вызов этого метода для удаления файла или каталога, уже зарегистрированного для удаления, не влияет на результат. Удаление будет выполняться только при нормальном завершении работы виртуальной машины, как определено в спецификации языка Java.

После отправки запроса на удаление отменить его невозможно. Поэтому этот метод следует использовать с осторожностью.

Примечание: этот метод не следует использовать для блокировки файлов, поскольку надёжно реализовать такой протокол невозможно. Вместо него следует использовать механизм FileLock.

Начиная с версии:
1.2
См. также:
  • delete()

list

public String[] list()
Возвращает массив строк с именами файлов и каталогов в каталоге, обозначенном этим абстрактным путём.

Если этот абстрактный путь не указывает на каталог, метод возвращает null. В противном случае возвращается массив строк, по одной для каждого файла или каталога в каталоге. Имена самого каталога и его родительского каталога в результат не включаются. Каждая строка содержит имя файла, а не полный путь.

Не гарантируется, что строки с именами в результирующем массиве будут расположены в определённом порядке; в частности, не гарантируется их алфавитный порядок.

Обратите внимание: класс Files определяет метод newDirectoryStream, позволяющий открыть каталог и перебирать имена содержащихся в нём файлов. При работе с очень большими каталогами этот метод может потреблять меньше ресурсов, а при работе с удалёнными каталогами — обеспечивать более быструю реакцию.

Возвращает:
Массив строк с именами файлов и каталогов в каталоге, обозначенном этим абстрактным путём. Если каталог пуст, массив также будет пустым. Возвращает null, если этот абстрактный путь не указывает на каталог или произошла ошибка ввода-вывода.

list

public String[] list(FilenameFilter filter)
Возвращает массив строк с именами файлов и каталогов в каталоге, обозначенном этим абстрактным путём, которые соответствуют указанному фильтру. Поведение этого метода совпадает с поведением метода list(), за исключением того, что строки в возвращаемом массиве должны соответствовать фильтру. Если заданный filter равен null, принимаются все имена. В противном случае имя соответствует фильтру тогда и только тогда, когда в результате вызова метода фильтра FilenameFilter.accept(File, String) для этого абстрактного пути и имени файла или каталога в обозначенном им каталоге возвращается значение true.
Параметры:
filter — фильтр имён файлов
Возвращает:
Массив строк с именами файлов и каталогов в каталоге, обозначенном этим абстрактным путём, которые были приняты заданным filter. Массив будет пустым, если каталог пуст или фильтр не принял ни одного имени. Возвращает null, если этот абстрактный путь не обозначает каталог или произошла ошибка ввода-вывода.
См. также:
  • Files.newDirectoryStream(Path,String)

listFiles

public File[] listFiles()
Возвращает массив абстрактных путей, обозначающих файлы в каталоге, обозначенном этим абстрактным путём.

Если этот абстрактный путь не обозначает каталог, метод возвращает null. В противном случае возвращается массив объектов File — по одному для каждого файла или каталога в этом каталоге. Пути, обозначающие сам каталог и его родительский каталог, в результат не включаются. Каждый результирующий абстрактный путь создаётся на основе этого абстрактного пути с помощью конструктора File(File, String). Поэтому если этот путь абсолютный, каждый результирующий путь будет абсолютным; если этот путь относительный, каждый результирующий путь будет относительным к тому же каталогу.

Не гарантируется, что строки имён в результирующем массиве будут расположены в каком-либо определённом порядке; в частности, не гарантируется их расположение в алфавитном порядке.

Обратите внимание, что класс Files определяет метод newDirectoryStream для открытия каталога и перебора имён файлов в нём. При работе с очень большими каталогами это может потребовать меньше ресурсов.

Возвращает:
Массив абстрактных путей, обозначающих файлы и каталоги в каталоге, обозначенном этим абстрактным путём. Массив будет пустым, если каталог пуст. Возвращает null, если этот абстрактный путь не обозначает каталог или произошла ошибка ввода-вывода.
С версии:
1.2

listFiles

public File[] listFiles(FilenameFilter filter)
Возвращает массив абстрактных путей, обозначающих файлы и каталоги в каталоге, обозначенном этим абстрактным путём, которые соответствуют указанному фильтру. Поведение этого метода совпадает с поведением метода listFiles(), за исключением того, что пути в возвращаемом массиве должны соответствовать фильтру. Если заданный filter равен null, принимаются все пути. В противном случае путь соответствует фильтру тогда и только тогда, когда в результате вызова метода фильтра FilenameFilter.accept(File, String) для этого абстрактного пути и имени файла или каталога в обозначенном им каталоге возвращается значение true.
Параметры:
filter — фильтр имён файлов
Возвращает:
Массив абстрактных путей, обозначающих файлы и каталоги в каталоге, обозначенном этим абстрактным путём. Массив будет пустым, если каталог пуст. Возвращает null, если этот абстрактный путь не обозначает каталог или произошла ошибка ввода-вывода.
С версии:
1.2
См. также:
  • Files.newDirectoryStream(Path,String)

listFiles

public File[] listFiles(FileFilter filter)
Возвращает массив абстрактных путей, обозначающих файлы и каталоги в каталоге, обозначенном этим абстрактным путём, которые соответствуют указанному фильтру. Поведение этого метода совпадает с поведением метода listFiles(), за исключением того, что пути в возвращаемом массиве должны соответствовать фильтру. Если заданный filter равен null, принимаются все пути. В противном случае путь соответствует фильтру тогда и только тогда, когда в результате вызова метода фильтра FileFilter.accept(File) для этого пути возвращается значение true.
Параметры:
filter — файловый фильтр
Возвращает:
Массив абстрактных путей, обозначающих файлы и каталоги в каталоге, обозначенном этим абстрактным путём. Массив будет пустым, если каталог пуст. Возвращает null, если этот абстрактный путь не обозначает каталог или произошла ошибка ввода-вывода.
С версии:
1.2
См. также:
  • Files.newDirectoryStream(Path,java.nio.file.DirectoryStream.Filter)

mkdir

public boolean mkdir()
Создаёт каталог, обозначенный этим абстрактным путём.
Возвращает:
true тогда и только тогда, когда каталог был создан; в противном случае — false

mkdirs

public boolean mkdirs()
Создаёт каталог, обозначенный этим абстрактным путём, включая все необходимые, но отсутствующие родительские каталоги. Обратите внимание: если эта операция завершится неудачей, некоторые из необходимых родительских каталогов всё же могли быть созданы.
Возвращает:
true тогда и только тогда, когда каталог был создан вместе со всеми необходимыми родительскими каталогами; в противном случае — false

renameTo

public boolean renameTo(File dest)
Переименовывает файл, обозначенный этим абстрактным путём. Если этот путь обозначает символическую ссылку, переименовывается сама ссылка, а не её целевой объект.

Многие аспекты поведения этого метода по своей природе зависят от платформы: операция переименования может не поддерживать перемещение файла из одной файловой системы в другую, может быть неатомарной и может завершиться неудачей, если файл с целевым абстрактным путём уже существует. Всегда следует проверять возвращаемое значение, чтобы убедиться в успешном выполнении операции переименования. Поскольку экземпляры File неизменяемы, этот объект File не изменяется и не начинает обозначать целевой файл или каталог.

Обратите внимание, что класс Files определяет метод move для перемещения или переименования файла независимым от платформы способом.

Параметры:
dest — новый абстрактный путь для именованного файла
Возвращает:
true тогда и только тогда, когда переименование выполнено успешно; в противном случае — false
Выбрасывает:
NullPointerException — если параметр dest равен null

setLastModified

public boolean setLastModified(long time)
Устанавливает время последнего изменения файла или каталога, обозначенного этим абстрактным путём.

Все платформы поддерживают время изменения файла с точностью до секунды, но некоторые обеспечивают более высокую точность. Аргумент будет усечён до поддерживаемой точности. Если операция выполнена успешно и до следующего обращения к файлу над ним не выполнялись другие операции, следующий вызов метода lastModified() вернёт переданный этому методу аргумент time (возможно, усечённый).

Параметры:
time — новое время последнего изменения в миллисекундах с начала эпохи (00:00:00 GMT, 1 января 1970 года)
Возвращает:
true тогда и только тогда, когда операция выполнена успешно; в противном случае — false
Выбрасывает:
IllegalArgumentException — если аргумент отрицательный
С версии:
1.2

setReadOnly

public boolean setReadOnly()
Помечает файл или каталог, обозначенный этим абстрактным путём, как доступный только для чтения. После вызова этого метода файл или каталог не будет изменяться, пока его не удалят или не пометят как доступный для записи. На некоторых платформах виртуальную машину Java можно запустить со специальными привилегиями, позволяющими изменять файлы, помеченные как доступные только для чтения. Возможность удаления такого файла или каталога зависит от базовой системы.
Возвращает:
true тогда и только тогда, когда операция выполнена успешно; в противном случае — false
С версии:
1.2

setWritable

public boolean setWritable(boolean writable, boolean ownerOnly)
Устанавливает разрешение на запись для владельца или для всех пользователей для этого абстрактного пути. На некоторых платформах виртуальную машину Java можно запустить со специальными привилегиями, позволяющими изменять файлы, для которых запрещены операции записи.

Класс Files определяет методы работы с атрибутами файлов, включая разрешения. Их можно использовать, если требуется более точное управление разрешениями файлов.

Параметры:
writable — если true, устанавливает разрешение на доступ для выполнения операций записи; если false — запрещает операции записи
ownerOnly — если true, разрешение на запись применяется только к владельцу; в противном случае оно применяется ко всем пользователям. Если базовая файловая система не может различать разрешение на запись владельца и разрешения других пользователей, оно будет применяться ко всем пользователям независимо от этого значения.
Возвращает:
true тогда и только тогда, когда операция выполнена успешно. Операция завершится неудачей, если у пользователя нет разрешения на изменение разрешений доступа для этого абстрактного пути.
С версии:
1.6

setWritable

public boolean setWritable(boolean writable)
Вспомогательный метод для установки разрешения на запись для владельца этого абстрактного пути. На некоторых платформах виртуальную машину Java можно запустить со специальными привилегиями, позволяющими изменять файлы, для которых запрещены операции записи.

Вызов этого метода в форме file.setWritable(arg) ведёт себя точно так же, как вызов

    file.setWritable(arg, true)
Параметры:
writable — если true, устанавливает разрешение на доступ для выполнения операций записи; если false — запрещает операции записи
Возвращает:
true тогда и только тогда, когда операция выполнена успешно. Операция завершится неудачей, если у пользователя нет разрешения на изменение разрешений доступа для этого абстрактного пути.
С версии:
1.6

setReadable

public boolean setReadable(boolean readable, boolean ownerOnly)
Устанавливает разрешение на чтение для владельца или для всех пользователей для этого абстрактного пути. На некоторых платформах виртуальную машину Java можно запустить со специальными привилегиями, позволяющими читать файлы, помеченные как недоступные для чтения.

Класс Files определяет методы работы с атрибутами файлов, включая разрешения. Их можно использовать, если требуется более точное управление разрешениями файлов.

Если платформа поддерживает установку разрешения на чтение файла, но у пользователя нет разрешения на изменение разрешений доступа для этого абстрактного пути, операция завершится неудачей. Если платформа не поддерживает установку разрешения на чтение файла, метод ничего не делает и возвращает значение параметра readable.

Параметры:
readable — если true, устанавливает разрешение на доступ для выполнения операций чтения; если false — запрещает операции чтения
ownerOnly — если true, разрешение на чтение применяется только к владельцу; в противном случае оно применяется ко всем пользователям. Если базовая файловая система не может различать разрешение на чтение владельца и разрешения других пользователей, оно будет применяться ко всем пользователям независимо от этого значения.
Возвращает:
true, если операция выполнена успешно; false, если она завершилась неудачей; или значение параметра readable, если установка разрешения на чтение не поддерживается.
С версии:
1.6

setReadable

public boolean setReadable(boolean readable)
Вспомогательный метод для установки разрешения на чтение для владельца этого абстрактного пути. На некоторых платформах виртуальную машину Java можно запустить со специальными привилегиями, позволяющими читать файлы, помеченные как недоступные для чтения.

Вызов этого метода в форме file.setReadable(arg) ведёт себя точно так же, как вызов

    file.setReadable(arg, true)

Если платформа поддерживает установку разрешения на чтение файла, но у пользователя нет разрешения на изменение разрешений доступа для этого абстрактного пути, операция завершится неудачей. Если платформа не поддерживает установку разрешения на чтение файла, метод ничего не делает и возвращает значение параметра readable.

Параметры:
readable — если true, устанавливает разрешение на доступ для выполнения операций чтения; если false — запрещает операции чтения
Возвращает:
true, если операция выполнена успешно; false, если она завершилась неудачей; или значение параметра readable, если установка разрешения на чтение не поддерживается.
С версии:
1.6

setExecutable

public boolean setExecutable(boolean executable, boolean ownerOnly)
Устанавливает разрешение на выполнение для владельца или для всех пользователей для этого абстрактного пути. На некоторых платформах виртуальную машину Java можно запустить со специальными привилегиями, позволяющими выполнять файлы, не помеченные как исполняемые.

Класс Files определяет методы работы с атрибутами файлов, включая разрешения. Их можно использовать, если требуется более точное управление разрешениями файлов.

Если платформа поддерживает установку разрешения на выполнение файла, но у пользователя нет разрешения на изменение разрешений доступа для этого абстрактного пути, операция завершится неудачей. Если платформа не поддерживает установку разрешения на выполнение файла, метод ничего не делает и возвращает значение параметра executable.

Параметры:
executable — если true, устанавливает разрешение на доступ для выполнения операций; если false — запрещает выполнение
ownerOnly — если true, разрешение на выполнение применяется только к владельцу; в противном случае оно применяется ко всем пользователям. Если базовая файловая система не может различать разрешение на выполнение владельца и разрешения других пользователей, оно будет применяться ко всем пользователям независимо от этого значения.
Возвращает:
true, если операция выполнена успешно; false, если она завершилась неудачей; или значение параметра executable, если установка разрешения на выполнение не поддерживается.
С версии:
1.6

setExecutable

public boolean setExecutable(boolean executable)
Вспомогательный метод для установки разрешения на выполнение для владельца этого абстрактного пути. На некоторых платформах виртуальную машину Java можно запустить со специальными привилегиями, позволяющими выполнять файлы, не помеченные как исполняемые.

Вызов этого метода в форме file.setExecutable(arg) ведёт себя точно так же, как вызов

    file.setExecutable(arg, true)

Если платформа поддерживает установку разрешения на выполнение файла, но у пользователя нет разрешения на изменение разрешений доступа для этого абстрактного пути, операция завершится неудачей. Если платформа не поддерживает установку разрешения на выполнение файла, метод ничего не делает и возвращает значение параметра executable.

Параметры:
executable — если true, устанавливает разрешение на доступ для выполнения операций; если false — запрещает выполнение
Возвращает:
true, если операция выполнена успешно; false, если она завершилась неудачей; или значение параметра executable, если установка разрешения на выполнение не поддерживается.
С версии:
1.6

canExecute

public boolean canExecute()
Проверяет, может ли приложение выполнить файл, обозначенный этим абстрактным путём. На некоторых платформах виртуальную машину Java можно запустить со специальными привилегиями, позволяющими выполнять файлы, не помеченные как исполняемые. Поэтому этот метод может вернуть true, даже если у файла нет разрешения на выполнение.
Возвращает:
true тогда и только тогда, когда абстрактный путь существует и приложению разрешено выполнить файл
С версии:
1.6

listRoots

public static File[] listRoots()
Перечисляет доступные корни файловых систем.

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

Этот метод возвращает массив объектов File, обозначающих корневые каталоги доступных файловых систем. Гарантируется, что канонический путь к любому файлу, физически находящемуся на локальном компьютере, будет начинаться с одного из корней, возвращаемых этим методом. Доступность корневого каталога не гарантируется.

Примечание по реализации:
Например, на платформах Windows имеется корневой каталог для каждого активного диска; на платформах UNIX имеется один корневой каталог — "/". На набор корней файловых систем влияют различные системные операции, например отключение или размонтирование физических либо виртуальных дисков.

Канонический путь к файлу, находящемуся на другом компьютере и доступному через протокол удалённой файловой системы, например SMB или NFS, может начинаться с одного из корней, возвращаемых этим методом, а может и не начинаться. Если синтаксис пути к удалённому файлу неотличим от синтаксиса пути к локальному файлу, он будет начинаться с одного из корней, возвращаемых этим методом. Так, например, этим методом будут возвращены объекты File, обозначающие корневые каталоги подключённых сетевых дисков платформы Windows, тогда как объекты File, содержащие UNC-пути, возвращены не будут.

Возвращает:
Массив объектов File, обозначающих доступные корни файловых систем, или null, если набор корней определить не удалось. Массив будет пустым, если корней файловых систем нет.
С версии:
1.2
См. также:
  • FileStore

getTotalSpace

public long getTotalSpace()
Возвращает размер раздела, обозначенного этим абстрактным путём. Если общее количество байтов в разделе превышает Long.MAX_VALUE, будет возвращено значение Long.MAX_VALUE.
Возвращает:
Размер раздела в байтах или 0L, если этот абстрактный путь не обозначает раздел или размер невозможно получить
С версии:
1.6
См. также:
  • FileStore.getTotalSpace()

getFreeSpace

public long getFreeSpace()
Возвращает количество нераспределённых байтов в разделе, обозначенном этим абстрактным путём. Если количество нераспределённых байтов в разделе превышает Long.MAX_VALUE, будет возвращено значение Long.MAX_VALUE.

Возвращаемое количество нераспределённых байтов является оценкой, но не гарантией того, что можно использовать большую часть или все эти байты. Скорее всего, это значение будет точным сразу после вызова метода. Любые внешние операции ввода-вывода, в том числе выполняемые в системе за пределами этой виртуальной машины, могут привести к тому, что оно станет неточным. Этот метод не гарантирует успешное выполнение операций записи в данную файловую систему.

Возвращает:
Количество нераспределённых байтов в разделе или 0L, если абстрактный путь не обозначает раздел или это количество невозможно получить. Это значение будет меньше или равно общему размеру файловой системы, возвращаемому методом getTotalSpace().
С версии:
1.6
См. также:
  • FileStore.getUnallocatedSpace()

getUsableSpace

public long getUsableSpace()
Возвращает количество байтов, доступных этой виртуальной машине в разделе, обозначенном этим абстрактным путём. Если количество доступных байтов в разделе превышает Long.MAX_VALUE, будет возвращено значение Long.MAX_VALUE. Если возможно, этот метод проверяет разрешения на запись и другие ограничения операционной системы, поэтому обычно он точнее оценивает, сколько новых данных действительно можно записать, чем метод getFreeSpace().

Возвращаемое количество доступных байтов является оценкой, но не гарантией того, что можно использовать большую часть или все эти байты. Скорее всего, это значение будет точным сразу после вызова метода. Любые внешние операции ввода-вывода, в том числе выполняемые в системе за пределами этой виртуальной машины, могут привести к тому, что оно станет неточным. Этот метод не гарантирует успешное выполнение операций записи в данную файловую систему.

Возвращает:
Количество доступных байтов в разделе или 0L, если абстрактный путь не обозначает раздел или это количество невозможно получить. В системах, где эти сведения недоступны, метод эквивалентен вызову getFreeSpace().
С версии:
1.6
См. также:
  • FileStore.getUsableSpace()

createTempFile

public static File createTempFile(String prefix, String suffix, File directory) throws IOException

Создаёт новый пустой файл в указанном каталоге, используя заданные строки префикса и суффикса для формирования его имени. Если метод завершится успешно, гарантируется, что:

  1. Файл, обозначенный возвращаемым абстрактным путём, не существовал до вызова этого метода; и
  2. Ни этот метод, ни одна из его версий не вернут тот же абстрактный путь повторно в ходе текущего запуска виртуальной машины.
Этот метод предоставляет лишь часть возможностей для работы с временными файлами. Чтобы созданный этим методом файл удалялся автоматически, используйте метод deleteOnExit().

Аргумент prefix должен содержать не менее трёх символов. Рекомендуется использовать короткую и понятную строку префикса, например "hjb" или "mail". Аргумент suffix может быть равен null; в этом случае будет использоваться суффикс ".tmp".

Перед созданием нового файла префикс и суффикс могут быть скорректированы с учётом ограничений базовой платформы. Если префикс слишком длинный, он будет усечён, но первые три символа всегда сохраняются. Если суффикс слишком длинный, он также будет усечён, но если он начинается с точки ('.'), точка и следующие за ней первые три символа всегда сохраняются. После этих корректировок имя нового файла будет сформировано объединением префикса, пяти или более символов, сгенерированных программой, и суффикса.

Если базовая платформа не может создать файл с полученным именем, будет выброшено исключение IOException. Например, это может произойти, если указанный префикс или суффикс содержит один или несколько символов, не поддерживаемых базовой файловой системой.

Если аргумент directory равен null, будет использоваться системный каталог временных файлов по умолчанию. Каталог временных файлов по умолчанию задаётся системным свойством java.io.tmpdir. В системах UNIX обычно используется значение "/tmp" или "/var/tmp"; в системах Microsoft Windows обычно используется "C:\\WINNT\\TEMP". Другое значение этого системного свойства можно задать при запуске виртуальной машины Java, однако программное изменение свойства не гарантирует, что оно повлияет на каталог временных файлов, используемый этим методом.

Если аргумент directory не равен null, а его абстрактный путь допустим и обозначает существующий каталог, доступный для записи, файл будет создан в этом каталоге. В противном случае файл создан не будет, а будет выброшено исключение IOException. Ни при каких обстоятельствах в расположении, указанном аргументом directory, не будет создан каталог.

Параметры:
prefix — строка префикса для формирования имени файла; должна содержать не менее трёх символов
suffix — строка суффикса для формирования имени файла; может быть равна null, в этом случае будет использоваться суффикс ".tmp"
directory — каталог, в котором нужно создать файл, или null, если следует использовать каталог временных файлов по умолчанию
Возвращает:
Абстрактный путь, обозначающий только что созданный пустой файл
Выбрасывает:
IllegalArgumentException — если аргумент prefix содержит менее трёх символов
IOException — если файл не удалось создать
С версии:
1.2

createTempFile

public static File createTempFile(String prefix, String suffix) throws IOException
Создает пустой файл в каталоге временных файлов по умолчанию, используя заданные префикс и суффикс для формирования его имени. Вызов этого метода эквивалентен вызову createTempFile(prefix, suffix, null).

Метод Files.createTempFile предоставляет альтернативный способ создания пустого файла в каталоге временных файлов. Файлы, созданные этим методом, могут иметь более строгие права доступа, чем файлы, созданные данным методом, поэтому он может лучше подходить для приложений, чувствительных к безопасности.

Параметры:
prefix — строка префикса, используемая при формировании имени файла; должна содержать не менее трех символов
suffix — строка суффикса, используемая при формировании имени файла; может быть null, в этом случае будет использоваться суффикс ".tmp"
Возвращает:
Абстрактное имя пути, обозначающее вновь созданный пустой файл
Вызывает исключение:
IllegalArgumentException — если аргумент prefix содержит менее трех символов
IOException — если не удалось создать файл
Начиная с версии:
1.2
См. также:
  • Files.createTempDirectory(String,FileAttribute[])

compareTo

public int compareTo(File pathname)
Лексикографически сравнивает два абстрактных имени пути. Порядок, определяемый этим методом, зависит от используемой системы. В системах UNIX при сравнении имен путей учитывается регистр букв; в системах Microsoft Windows — нет.
Определено в:
compareTo в интерфейсе Comparable<File>
Параметры:
pathname — абстрактное имя пути, сравниваемое с этим абстрактным именем пути
Возвращает:
Ноль, если аргумент равен этому абстрактному имени пути; значение меньше нуля, если это абстрактное имя пути лексикографически меньше аргумента; или значение больше нуля, если это абстрактное имя пути лексикографически больше аргумента
Начиная с версии:
1.2

equals

public boolean equals(Object obj)
Проверяет, равно ли это абстрактное имя пути заданному объекту. Возвращает true тогда и только тогда, когда аргумент не является null и представляет собой абстрактное имя пути, совпадающее с этим абстрактным именем пути. Равенство двух абстрактных имен путей зависит от используемой операционной системы. В системах UNIX при сравнении имен путей учитывается регистр букв; в системах Microsoft Windows — нет.
Переопределяет:
equals в классе Object
Примечание об API:
Этот метод проверяет только равенство абстрактных имен путей; он не обращается к файловой системе, и наличие файла не является обязательным.
Параметры:
obj — объект, сравниваемый с этим абстрактным именем пути
Возвращает:
true тогда и только тогда, когда объекты совпадают; в противном случае — false
См. также:
  • compareTo(File)
  • Files.isSameFile(Path,Path)

hashCode

public int hashCode()
Вычисляет хеш-код этого абстрактного имени пути. Поскольку равенство абстрактных имен путей по своей сути зависит от системы, вычисление их хеш-кодов также зависит от системы. В системах UNIX хеш-код абстрактного имени пути равен исключающему ИЛИ хеш-кода его строки имени пути и десятичного значения 1234321. В системах Microsoft Windows хеш-код равен исключающему ИЛИ хеш-кода строки имени пути, преобразованной к нижнему регистру, и десятичного значения 1234321. При преобразовании строки имени пути к нижнему регистру локаль не учитывается.
Переопределяет:
hashCode в классе Object
Возвращает:
Хеш-код этого абстрактного имени пути
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

toString

public String toString()
Возвращает строку имени пути этого абстрактного имени пути. Это просто строка, возвращаемая методом getPath().
Переопределяет:
toString в классе Object
Возвращает:
Строковое представление этого абстрактного имени пути

toPath

public Path toPath()
Возвращает объект java.nio.file.Path, созданный на основе этого абстрактного пути. Полученный объект Path связан с default-filesystem.

При первом вызове этот метод работает так, как если бы его вызов был эквивалентен вычислению выражения:

        FileSystems.getDefault().getPath(this.getPath());
Последующие вызовы этого метода возвращают тот же Path.

Если это абстрактное имя пути является пустым, данный метод возвращает Path, который можно использовать для доступа к текущему пользовательскому каталогу.

Возвращает:
объект Path, созданный на основе этого абстрактного пути
Вызывает исключение:
InvalidPathException — если из абстрактного пути невозможно создать объект Path (см. FileSystem.getPath)
Начиная с версии:
1.7
См. также:
  • Path.toFile()

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/File.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API