Spec-Zone.ru › OpenJDK 17

Файл класса

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.

Родитель абстрактного пути может быть получен, вызвав метод 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()
Строит file: URI, который представляет это абстрактное имя пути.
URL toURL()
Устаревший.
Этот метод не автоматически экранирует символы, которые некорректны в URL.

Методы, объявленные в классе java.lang.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 создаётся как если бы вызывался конструктор с одним аргументом File на заданной строке пути child.

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

Параметры:
parent - Строка родительского пути
child - Строка пути потомка
Исключения:
NullPointerException - Если child равна null

File

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

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

В противном случае абстрактный путь 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 относительный путь делается абсолютным путем разрешения его относительно текущей директории диска, указанного в пути, если таковой имеется; в противном случае он разрешается относительно текущей пользовательской директории.

Возвращает:
Строка абсолютного пути, обозначающая тот же файл или директорию, что и это абстрактное имя файла
Исключение:
SecurityException - Если доступ к необходимой системной переменной невозможен.
См. также:
  • isAbsolute()

getAbsoluteFile

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

getCanonicalPath

public String getCanonicalPath() throws IOException
Возвращает каноническую строку пути к этому абстрактному имени файла.

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

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

Возвращает:
Строка канонического пути, обозначающая тот же файл или директорию, что и это абстрактное имя файла
Исключение:
IOException - Если происходит ошибка ввода-вывода, что возможно, потому что построение канонического пути может потребовать запросов к файловой системе
SecurityException - Если доступ к необходимой системной переменной невозможен или если существует менеджер безопасности, и его метод SecurityManager.checkRead(java.io.FileDescriptor) запрещает чтение файла
С:
1.1
См. также:
  • Path.toRealPath(java.nio.file.LinkOption...)

getCanonicalFile

public File getCanonicalFile() throws IOException
Возвращает каноническую форму этого абстрактного имени файла. Эквивалентно new File(this.getCanonicalPath()).
Возвращает:
Канонический путь, обозначающий тот же файл или директорию, что и это абстрактное имя файла
Исключение:
IOException - Если происходит ошибка ввода-вывода, что возможно, потому что построение канонического пути может потребовать запросов к файловой системе
SecurityException - Если доступ к необходимой системной переменной невозможен или если существует менеджер безопасности, и его метод SecurityManager.checkRead(java.io.FileDescriptor) запрещает чтение файла
С:
1.2
См. также:
  • Path.toRealPath(java.nio.file.LinkOption...)

toURL

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

toURI

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

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

Для данного абстрактного имени файла f, гарантируется, что

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

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

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

canRead

public boolean canRead()
Проверяет, может ли приложение читать файл, обозначаемый этим абстрактным именем файла. В некоторых платформах может быть возможно запустить виртуальную машину Java со специальными привилегиями, которые позволяют читать файлы, помеченные как недоступные для чтения. Следовательно, этот метод может вернуть true даже если файл не имеет разрешения на чтение.
Возвращает:
true тогда и только тогда, когда файл, указанный этим абстрактным именем файла, существует и может быть прочитан приложением; false в противном случае
Исключение:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkRead(java.lang.String) запрещает чтение файла

canWrite

public boolean canWrite()
Проверяет, может ли приложение изменять файл, обозначаемый этим абстрактным именем файла. В некоторых платформах может быть возможно запустить виртуальную машину Java со специальными привилегиями, которые позволяют изменять файлы, помеченные только для чтения. Следовательно, этот метод может вернуть true даже если файл помечен только для чтения.
Возвращает:
true тогда и только тогда, когда в файловой системе действительно содержится файл, обозначаемый этим абстрактным именем файла, и приложение разрешено записывать в файл; false в противном случае.
Исключение:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkWrite(java.lang.String) запрещает запись в файл

exists

public boolean exists()
Проверяет, существует ли файл или директория, обозначаемый этим абстрактным именем файла.
Возвращает:
true если и только если файл или директория, обозначенные этим абстрактным именем файла, существуют; false в противном случае
Исключение:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkRead(java.lang.String) запрещает чтение файла или директории

isDirectory

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

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

Возвращает:
true тогда и только тогда, когда файл, обозначенный этим абстрактным именем пути, существует и является каталогом; false в противном случае
Выбрасывает:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkRead(java.lang.String) запрещает чтение файла

isFile

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

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

Возвращает:
true тогда и только тогда, когда файл, обозначенный этим абстрактным именем пути, существует и является обычным файлом; false в противном случае
Выбрасывает:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkRead(java.lang.String) запрещает чтение файла

isHidden

public boolean isHidden()
Проверяет, является ли файл, именованный этим абстрактным именем пути, скрытым файлом. Точное определение скрытого зависит от системы. В системах UNIX файл считается скрытым, если его имя начинается с символа точки ('.'). В системах Microsoft Windows файл считается скрытым, если он помечен как таковой в файловой системе.
Возвращает:
true тогда и только тогда, когда файл, обозначенный этим абстрактным именем пути, является скрытым в соответствии с конвенциями базовой платформы
Выбрасывает:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkRead(java.lang.String) запрещает чтение файла
С:
1.2

lastModified

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

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

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

length

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

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

Возвращает:
Длина файла в байтах, обозначенная этим абстрактным именем пути, или 0L , если файл не существует. Некоторые операционные системы могут возвращать 0L для имен путей, обозначающих зависящие от системы сущности, такие как устройства или каналы.
Выбрасывает:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkRead(java.lang.String) запрещает чтение файла

createNewFile

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

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

Возвращает:
true , если указанный файл не существует и был успешно создан; false , если указанный файл уже существует
Выбрасывает:
IOException - Если произошла ошибка ввода-вывода
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkWrite(java.lang.String) запрещает запись в файл
С:
1.2

delete

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

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

Возвращает:
true тогда и только тогда, когда файл или каталог удалены успешно; false в противном случае
Выбрасывает:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkDelete(java.lang.String) запрещает удаление файла

deleteOnExit

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

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

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

Выбрасывает:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkDelete(java.lang.String) запрещает удаление файла
С:
1.2
См. также:
  • delete()

list

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

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

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

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

Возвращает:
Массив строк, имена файлов и каталогов в каталоге, обозначенном этим абстрактным именем пути. Массив будет пустым, если каталог пуст. Возвращает null , если это абстрактное имя пути не обозначает каталог или если произошла ошибка ввода-вывода.
Выбрасывает:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkRead(String) запрещает чтение каталога

list

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

listFiles

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

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

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

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

Returns:
Массив абстрактных имён путей, обозначающих файлы и каталоги в каталоге, обозначаемом этим абстрактным именем пути. Массив будет пустым, если каталог пуст. Возвращает null если это абстрактное имя пути не обозначает каталог или если произошла ошибка ввода-вывода.
Throws:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkRead(String) запрещает чтение каталога
Since:
1.2

listFiles

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

listFiles

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

mkdir

public boolean mkdir()
Создаёт каталог, названный этим абстрактным именем пути.
Returns:
true если и только если каталог был создан; false в противном случае
Throws:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkWrite(java.lang.String) не разрешает создание названного каталога

mkdirs

public boolean mkdirs()
Создаёт каталог, названный этим абстрактным именем пути, включая все необходимые, но несуществующие родительские каталоги. Обратите внимание, что если эта операция завершается неудачей, она может успешно создать некоторые необходимые родительские каталоги.
Returns:
true если и только если каталог был создан вместе со всеми необходимыми родительскими каталогами; false в противном случае
Throws:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkRead(java.lang.String) не разрешает проверку существования названного каталога и всех необходимых родительских каталогов; или если метод SecurityManager.checkWrite(java.lang.String) не разрешает создание названного каталога и всех необходимых родительских каталогов

renameTo

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

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

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

Parameters:
dest - Новое абстрактное имя пути для названного файла
Returns:
true если и только если переименование прошло успешно; false в противном случае
Throws:
SecurityException - Если существует менеджер безопасности, и его метод SecurityManager.checkWrite(java.lang.String) запрещает запись в старое или новое имя пути
NullPointerException - Если параметр dest является null

setLastModified

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

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

Parameters:
time - Новое время последнего изменения, измеряемое в миллисекундах с момента эпохи (00:00:00 GMT, 1 января 1970 г.)
Returns:
true тогда и только тогда, когда операция выполнена успешно; false в противном случае
Throws:
IllegalArgumentException - Если аргумент отрицательный
SecurityException - Если существует менеджер безопасности и его метод SecurityManager.checkWrite(java.lang.String) отказывает в записи доступа к указанному файлу
Since:
1.2

setReadOnly

public boolean setReadOnly()
Помечает файл или каталог, указанный этим абстрактным именем пути, так что разрешены только операции чтения. После вызова этого метода файл или каталог не будут изменены, пока не будут удалены или не будут отмечены для разрешения записи. На некоторых платформах может быть возможно запустить виртуальную машину Java со специальными привилегиями, которые позволят ей изменять файлы, помеченные как только для чтения. Возможность удаления файла или каталога, помеченного как только для чтения, зависит от используемой системы.
Returns:
true тогда и только тогда, когда операция выполнена успешно; false в противном случае
Throws:
SecurityException - Если существует менеджер безопасности и его метод SecurityManager.checkWrite(java.lang.String) отказывает в записи доступа к указанному файлу
Since:
1.2

setWritable

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

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

Parameters:
writable - Если true, устанавливает разрешение доступа для разрешения операций записи; если false для запрета операций записи
ownerOnly - Если true, разрешение на запись применяется только к разрешению на запись владельца; в противном случае — ко всем. Если используемая файловая система не может различить разрешение на запись владельца от разрешения на запись других, то разрешение будет применяться ко всем, независимо от этого значения.
Returns:
true тогда и только тогда, когда операция выполнена успешно. Операция завершится неудачей, если у пользователя нет разрешения на изменение разрешений доступа к этому абстрактному имени пути.
Throws:
SecurityException - Если существует менеджер безопасности и его метод SecurityManager.checkWrite(java.lang.String) отказывает в записи доступа к указанному файлу
Since:
1.6

setWritable

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

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


     file.setWritable(arg, true)
 
Parameters:
writable - Если true, устанавливает разрешение доступа для разрешения операций записи; если false для запрета операций записи
Returns:
true тогда и только тогда, когда операция выполнена успешно. Операция завершится неудачей, если у пользователя нет разрешения на изменение разрешений доступа к этому абстрактному имени пути.
Throws:
SecurityException - Если существует менеджер безопасности и его метод SecurityManager.checkWrite(java.lang.String) отказывает в записи доступа к файлу
Since:
1.6

setReadable

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

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

Parameters:
readable - Если true, устанавливает разрешение доступа для разрешения операций чтения; если false для запрета операций чтения
ownerOnly - Если true, разрешение на чтение применяется только к разрешению на чтение владельца; в противном случае — ко всем. Если используемая файловая система не может различить разрешение на чтение владельца от разрешения на чтение других, то разрешение будет применяться ко всем, независимо от этого значения.
Returns:
true тогда и только тогда, когда операция выполнена успешно. Операция завершится неудачей, если у пользователя нет разрешения на изменение разрешений доступа к этому абстрактному имени пути. Если readable равно false и используемая файловая система не реализует разрешение на чтение, то операция завершится неудачей.
Throws:
SecurityException - Если существует менеджер безопасности и его метод SecurityManager.checkWrite(java.lang.String) отказывает в записи доступа к файлу
Since:
1.6

setReadable

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

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


     file.setReadable(arg, true)
 
Parameters:
readable - Если true, устанавливает разрешение доступа для разрешения операций чтения; если false для запрета операций чтения
Returns:
true тогда и только тогда, когда операция выполнена успешно. Операция завершится неудачей, если у пользователя нет разрешения на изменение разрешений доступа к этому абстрактному имени пути. Если readable равно false и используемая файловая система не реализует разрешение на чтение, то операция завершится неудачей.
Throws:
SecurityException - Если существует менеджер безопасности и его метод SecurityManager.checkWrite(java.lang.String) отказывает в записи доступа к файлу
Since:
1.6

setExecutable

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

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

Parameters:
executable - Если true, устанавливает разрешение доступа для разрешения операций выполнения; если false для запрета операций выполнения
ownerOnly - Если true, разрешение на выполнение применяется только к разрешению на выполнение владельца; в противном случае — ко всем. Если используемая файловая система не может различить разрешение на выполнение владельца от разрешения на выполнение других, то разрешение будет применяться ко всем, независимо от этого значения.
Returns:
true тогда и только тогда, когда операция выполнена успешно. Операция завершится неудачей, если у пользователя нет разрешения на изменение разрешений доступа к этому абстрактному имени пути. Если executable равно false и используемая файловая система не реализует разрешение на выполнение, то операция завершится неудачей.
Throws:
SecurityException - Если существует менеджер безопасности и его метод SecurityManager.checkWrite(java.lang.String) отказывает в записи доступа к файлу
Since:
1.6

setExecutable

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

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


     file.setExecutable(arg, true)
 
Parameters:
executable - Если true, устанавливает разрешение доступа для разрешения операций выполнения; если false для запрета операций выполнения
Returns:
true тогда и только тогда, когда операция выполнена успешно. Операция завершится неудачей, если у пользователя нет разрешения на изменение разрешений доступа к этому абстрактному имени пути. Если executable равно false и используемая файловая система не реализует разрешение на выполнение, то операция завершится неудачей.
Throws:
SecurityException - Если существует менеджер безопасности и его метод SecurityManager.checkWrite(java.lang.String) отказывает в записи доступа к файлу
Since:
1.6

canExecute

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

listRoots

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

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

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

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

В отличие от большинства методов в этом классе, этот метод не выбрасывает исключений безопасности. Если менеджер безопасности существует и его метод SecurityManager.checkRead(String) отказывает в доступе для чтения к определенному корневому каталогу, то этот каталог не будет отображаться в результате.

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

getTotalSpace

public long getTotalSpace()
Возвращает размер раздела, именуемого этим абстрактным именем пути. Если общее количество байтов в разделе больше, чем Long.MAX_VALUE, то Long.MAX_VALUE будет возвращено.
Возвращает:
Размер в байтах раздела или 0L если это абстрактное имя пути не обозначает раздел или если размер не может быть получен
Бросает:
SecurityException - Если установлен менеджер безопасности и он отказывает в RuntimePermission("getFileSystemAttributes") или его метод SecurityManager.checkRead(String) отказывает в доступе для чтения к файлу, названному этим абстрактным именем пути
С:
1.6
См. также:
  • FileStore.getTotalSpace()

getFreeSpace

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

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

Возвращает:
Количество невыделенных байтов в разделе или 0L если абстрактное имя пути не обозначает раздел или это число не может быть получено. Это значение будет меньше или равно общему размеру файловой системы, возвращаемому методом getTotalSpace().
Бросает:
SecurityException - Если установлен менеджер безопасности и он отказывает в RuntimePermission("getFileSystemAttributes") или его метод SecurityManager.checkRead(String) отказывает в доступе для чтения к файлу, названному этим абстрактным именем пути
С:
1.6
См. также:
  • FileStore.getUnallocatedSpace()

getUsableSpace

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

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

Возвращает:
Количество доступных байтов в разделе или 0L если абстрактное имя пути не обозначает раздел или это число не может быть получено. В системах, где эта информация недоступна, этот метод будет эквивалентен вызову getFreeSpace().
Бросает:
SecurityException - Если установлен менеджер безопасности и он отказывает в RuntimePermission("getFileSystemAttributes") или его метод SecurityManager.checkRead(String) отказывает в доступе для чтения к файлу, названному этим абстрактным именем пути
С:
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".

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

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

Parameters:
prefix - Строка префикса, используемая для генерации имени файла; должна содержать не менее трёх символов
suffix - Строка суффикса, используемая для генерации имени файла; может быть null, в этом случае используется суффикс ".tmp"
directory - Каталог, в котором должен быть создан файл, или null, если использовать каталог по умолчанию для временных файлов
Returns:
Абстрактное имя, обозначающее только что созданный пустой файл
Throws:
IllegalArgumentException - Если аргумент prefix содержит меньше трёх символов
IOException - Если файл не может быть создан
SecurityException - Если существует менеджер безопасности и его метод SecurityManager.checkWrite(java.lang.String) не разрешает создание файла
Since:
1.2

createTempFile

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

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

Parameters:
prefix - Строка префикса, используемая для генерации имени файла; должна содержать не менее трёх символов
suffix - Строка суффикса, используемая для генерации имени файла; может быть null, в этом случае используется суффикс ".tmp"
Returns:
Абстрактное имя, обозначающее только что созданный пустой файл
Throws:
IllegalArgumentException - Если аргумент prefix содержит меньше трёх символов
IOException - Если файл не может быть создан
SecurityException - Если существует менеджер безопасности и его метод SecurityManager.checkWrite(java.lang.String) не разрешает создание файла
Since:
1.2
See Also:
  • Files.createTempDirectory(String,FileAttribute[])

compareTo

public int compareTo(File pathname)
Сравнивает два абстрактных имени пути лексикографически. Порядок, определённый этим методом, зависит от базовой системы. В системах Unix регистр букв при сравнении имён путей имеет значение; в системах Microsoft Windows — нет.
Specified by:
compareTo в интерфейсе Comparable<File>
Parameters:
pathname - Абстрактное имя пути, которое сравнивается с этим абстрактным именем пути
Returns:
Ноль, если аргумент равен этому абстрактому имени пути; значение меньше нуля, если это абстрактное имя пути лексикографически меньше аргумента; или значение больше нуля, если это абстрактное имя пути лексикографически больше аргумента
Since:
1.2

equals

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

hashCode

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

toString

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

toPath

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

Первый вызов этого метода работает так, как будто вызов эквивалентен оценке выражения:

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

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

Returns:
объект Path, построенный из этого абстрактного пути
Throws:
InvalidPathException - если объект Path не может быть построен из абстрактного пути (см. FileSystem.getPath)
Since:
1.7
See Also:
  • Path.toFile()

© 1993, 2021, 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/17/docs/api/java.base/java/io/File.html

Spec-Zone.ru

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