Spec-Zone.ru › OpenJDK 21

Файл класса

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 для предоставления более эффективного и расширенного доступа к дополнительным операциям с файлами, атрибутам файлов и исключениям I/O для диагностики ошибок, когда операция с файлом завершается неудачно.

С:
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 пути. Компонент authority неопределён, что означает, что он представлен null. Класс Path определяет метод toUri для кодирования имени сервера в компоненте authority полученного URI. Метод toPath может использоваться для получения Path представляющего это абстрактное имя файла.

Возвращает:
Абсолютный иерархический URI со схемой, равной "file", путём, представляющим это абстрактное имя файла, и неопределёнными компонентами authority, query и fragment
Исключения:
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 аргумент, переданный в этот метод.

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

setReadOnly

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

setWritable

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

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

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

setWritable

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

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

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

setReadable

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

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

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

setReadable

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

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

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

setExecutable

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

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

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

setExecutable

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

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

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

canExecute

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

listRoots

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

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

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

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

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

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

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

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

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, 2023, 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/21/docs/api/java.base/java/io/File.html

Spec-Zone.ru

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