public class File extends Object implements Comparable<File>
| Constructor and Description |
|---|
File(File path)
Конструктор
|
File(Path path)
Конструктор
|
File(String filePath,
String... more)
Конструктор
|
| Modifier and Type | Method and Description |
|---|---|
SeekableByteChannel |
channel(OpenOption... oopts)
Открывает или создает файл, возвращая поисковый байтовый канал для доступа к файлу.
|
SeekableByteChannel |
channel(Set<? extends OpenOption> options,
FileAttribute<?>... attrs)
Открывает или создает файл, возвращая поисковый байтовый канал для доступа к файлу.
|
int |
compareTo(File other)
Сравнивает два абстрактных пути лексикографически.
|
long |
copyFrom(InputStream input,
CopyOption... copts)
Копирует все байты из входного потока в файл.
|
File |
copyTo(File target,
CopyOption... copts)
Скопируйте файл в целевой файл.
|
long |
copyTo(OutputStream out)
Копирует все байты из файла в выходной поток.
|
File |
copyTo(Path target,
CopyOption... copts)
Скопируйте файл в целевой файл.
|
File |
createDirectories(FileAttribute<?>... attrs)
Создает каталог, создавая сначала все несуществующие родительские каталоги.
|
File |
createDirectory(FileAttribute<?>... attrs)
Создает новый каталог.
|
File |
createFile(FileAttribute<?>... attrs)
Создает новый и пустой файл, если файл уже существует.
|
File |
createLink(File target)
Создает новую ссылку (запись в каталоге) для существующего файла (дополнительная операция).
|
File |
createLink(Path target)
Создает новую ссылку (запись в каталоге) для существующего файла (дополнительная операция).
|
File |
createSymbolicLink(File target,
FileAttribute<?>... attrs)
Создает символическую ссылку на цель (дополнительная операция).
|
File |
createSymbolicLink(Path target,
FileAttribute<?>... attrs)
Создает символическую ссылку на цель (дополнительная операция).
|
File |
createTempDirectory(String prefix,
FileAttribute<?>... attrs)
Создает новый каталог в указанном каталоге, используя префикс для генерации его имени.
|
File |
createTempFile(String prefix,
String suffix,
FileAttribute<?>... attrs)
Создает новый пустой файл в указанном каталоге, используя префикс
и суффиксные строки, чтобы сгенерировать его имя.
|
void |
delete()
Удаляет файл.
|
boolean |
deleteIfExists()
Удаляет файл, если он существует.
|
DirIterator |
dirIterator() |
List<File> |
dirList() |
boolean |
endsWith(File other)
Проверяет, заканчивается ли этот путь указанным путем.
|
boolean |
endsWith(Path other)
Проверяет, заканчивается ли этот путь указанным путем.
|
boolean |
endsWith(String other)
Проверяет, заканчивается ли этот путь указанным путем.
|
boolean |
equals(Object other)
Проверяет этот путь для равенства с данным объектом.
|
boolean |
exists(LinkOption... options)
Проверяет, существует ли файл.
|
Object |
getAttribute(String attrib,
LinkOption... lopts)
Читает значение атрибута файла.
|
String |
getBasename()
Базовое имя файла без расширения
|
String |
getExtension()
Раширение имени файла
|
<V extends FileAttributeView> |
getFileAttributeView(Class<V> type,
LinkOption... lopts)
Возвращает представление атрибута файла для заданного типа.
|
File |
getFileName()
Возвращает имя файла или каталога, обозначенного этим путем как объект Path.
|
FileStore |
getFileStore()
Возвращает FileStore, представляющий хранилище файлов, в котором находится файл.
|
FileSystem |
getFileSystem()
Возвращает файловую систему, создавшую этот объект
|
Date |
getLastModifiedDate(LinkOption... lopts)
Возвращает последнее измененное время файла.
|
FileTime |
getLastModifiedTime(LinkOption... lopts)
Возвращает последнее измененное время файла.
|
String |
getName()
Имя файла
|
File |
getName(int index)
Возвращает элемент name этого пути как объект Path.
|
int |
getNameCount()
Возвращает количество элементов name в пути.
|
UserPrincipal |
getOwner(LinkOption... lopts)
Возвращает владельца файла.
|
File |
getParent()
Возвращает родительский путь или null, если этот путь не имеет родителя.
|
Set<PosixFilePermission> |
getPosixFilePermissions(LinkOption... lopts)
Возвращает права доступа к файлам POSIX.
|
File |
getRoot()
Возвращает корневой компонент этого пути как объект Path или null, если этот путь не имеет корневого компонента.
|
static List<File> |
getRootDirectories()
Возвращает корневые файловые директории для локальной файловой системы
|
long |
getSize()
Возвращает размер файла (в байтах).
|
int |
hashCode()
Вычисляет хэш-код для этого пути.
|
boolean |
isAbsolute()
Указывает, является ли этот путь абсолютным.
|
boolean |
isDir()
Проверяет, является ли файл каталогом.
|
boolean |
isDirectory(LinkOption... options)
Проверяет, является ли файл каталогом.
|
boolean |
isExecutable()
Проверяет, является ли файл исполняемым.
|
boolean |
isExists()
Проверяет, существует ли файл.
|
boolean |
isFile()
Проверяет, является ли файл обычным файлом с непрозрачным контентом.
|
boolean |
isHidden()
Указывает, считается ли файл скрытым.
|
boolean |
isReadable()
Проверяет, читается ли файл.
|
boolean |
isRegularFile(LinkOption... options)
Проверяет, является ли файл обычным файлом с непрозрачным контентом.
|
boolean |
isSameFile(File path2)
Проверяет, если два пути обнаруживают один и тот же файл.
|
boolean |
isSameFile(Path path2)
Проверяет, если два пути обнаруживают один и тот же файл.
|
boolean |
isSymbolicLink()
Проверяет, является ли файл символической ссылкой.
|
boolean |
isWritable()
Проверяет, доступен ли файл для записи.
|
File |
move(File target,
CopyOption... copts)
Переместите или переименуйте файл в целевой файл.
|
File |
move(Path target,
CopyOption... copts)
Переместите или переименуйте файл в целевой файл.
|
File |
normalize()
Возвращает путь, который является этим путем, при этом исключаются элементы избыточного имени.
|
boolean |
notExists()
Проверяет, не существует ли файл, расположенный по этому пути.
|
boolean |
notExists(LinkOption... opts)
Проверяет, не существует ли файл, расположенный по этому пути.
|
String |
probeContentType()
Проверяет тип содержимого файла.
|
byte[] |
readAllBytes()
Читает все байты из файла.
|
List<String> |
readAllLines(Charset cs)
Прочитайте все строки из файла.
|
BufferedReader |
reader(Charset cs)
Открывает файл для чтения, возвращая BufferedReader,
который может использоваться для эффективного чтения текста из файла.
|
InputStream |
readStream(OpenOption... opts)
Открывает файл, возвращая поток ввода для чтения из файла.
|
String |
readText(Charset cs)
Читает тексовое содержание файла.
|
WatchKey |
register(WatchService watcher,
WatchEvent.Kind<?>... events) |
WatchKey |
register(WatchService watcher,
WatchEvent.Kind<?>[] events,
WatchEvent.Modifier... modifiers) |
File |
relativize(File other)
Создает относительный путь между этим путем и заданным путем.
|
File |
relativize(Path other)
Создает относительный путь между этим путем и заданным путем.
|
File |
resolve(File other)
Разрешение пути от текущего (this).
|
File |
resolve(Path other)
Разрешение пути от текущего (this).
|
File |
resolve(String other)
Разрешение пути от текущего (this).
|
File |
resolveSibling(File other) |
File |
resolveSibling(Path other) |
File |
resolveSibling(String other) |
File |
setAttribute(String attrib,
Object value,
LinkOption... lopts)
Устанавливает значение атрибута файла.
|
File |
setLastModifiedDate(Date date)
Обновляет атрибут последнего измененного времени файла.
|
File |
setLastModifiedTime(FileTime ftime)
Обновляет атрибут последнего измененного времени файла.
|
File |
setOwner(UserPrincipal user)
Обновляет владельца файла.
|
File |
setPosixFilePermissions(Set<PosixFilePermission> perms)
Устанавливает разрешения POSIX файла.
|
boolean |
startsWith(File other)
Тест, если этот путь начинается с заданного пути.
|
boolean |
startsWith(Path other)
Тест, если этот путь начинается с заданного пути.
|
boolean |
startsWith(String other)
Тест, если этот путь начинается с заданного пути.
|
File |
subpath(int beginIndex,
int endIndex)
Возвращает относительный путь, который является подпоследовательностью элементов name этого пути.
|
static File |
tempDirectory(String prefix,
FileAttribute<?>... attrs)
Создает новый каталог в каталоге временных файлов по умолчанию, используя префикс для генерации его имени.
|
static File |
tempFile(String prefix,
String suffix,
FileAttribute<?>... attrs)
Создает пустой файл в каталоге временных файлов по умолчанию,
используя данный префикс и суффикс, чтобы сгенерировать его имя.
|
File |
toAbsolute() |
File |
toFile() |
File |
toReal(LinkOption... options) |
String |
toString()
Возвращает строковое представление этого пути.
|
URI |
toUri() |
URL |
toUrl() |
FileTreeIterableBuilder |
tree() |
Iterable<TreeWalk<File>> |
treeit() |
void |
visit(Visitor<File> visitor) |
Iterable<File> |
walk() |
File |
write(byte[] bytes,
OpenOption... oopts)
Записывает байты в файл.
|
File |
write(Iterable<? extends CharSequence> lines,
Charset cs,
OpenOption... options)
Пишет строки текста в файл.
|
BufferedWriter |
writer(Charset cs)
Открывает или создает файл для записи, возвращая BufferedWriter,
который может использоваться для эффективного ввода текста в файл.
|
OutputStream |
writeStream(OpenOption... opts)
Открывает или создает файл, возвращая выходной поток, который может использоваться для записи байтов в файл.
|
void |
writeText(String text,
Charset cs)
Пишет текст в файл с использованием указанной кадировки
|
public final Path path
public File(Path path)
path - путь к файлуpublic File(File path)
path - путь к файлуpublic FileSystem getFileSystem()
public boolean isAbsolute()
public File getRoot()
public static List<File> getRootDirectories()
public File getFileName()
public File getParent()
Родитель этого объекта пути состоит из корневого компонента этого пути, если таковой имеется, и каждого элемента пути, кроме самого удаленного от корня в иерархии каталогов. Этот метод не имеет доступа к файловой системе; путь или его родительский элемент могут не существовать. Кроме того, этот метод не исключает особых имен, таких как «.». и "..", которые могут использоваться в некоторых реализациях.
Например, в UNIX родителем «/ a / b / c» является «/ a / b», а родительский элемент «x / y /». «х / у». Этот метод может использоваться с методом нормализации, чтобы исключить избыточные имена, для случаев, когда требуется командная оболочка.
Если этот путь имеет один или несколько элементов и не имеет корневого компонента, то этот метод эквивалентен оценке выражения:
subpath(0, getNameCount()-1);;
public int getNameCount()
public File getName(int index)
Параметр index - это индекс возвращаемого элемента name. Элемент, ближайший к корню в иерархии каталогов, имеет индекс 0. Элемент, который находится дальше всего от корня, имеет индекс count-1.
index - индекс элементаpublic File subpath(int beginIndex, int endIndex)
Параметры beginIndex и endIndex определяют подпоследовательность элементов name. Имя, которое ближе всего к корню в иерархии каталогов, имеет индекс 0. Имя, которое находится дальше всего от корня, имеет индекс count-1. Возвращаемый объект Path имеет элементы name, которые начинаются с beginIndex и распространяются на элемент с индексом endIndex-1.
beginIndex - индекс первого элемента, включительноendIndex - индекс последнего элемента, исключительноpublic boolean startsWith(Path other)
Этот путь начинается с заданного пути, если корневой компонент этого пути начинается с корневого компонента данного пути, и этот путь начинается с тех же элементов названия, что и указанный путь.
Если данный путь имеет больше элементов имени, чем этот путь, возвращается false. Независимо от того, начинается ли корневой компонент этого пути с корневым компонентом данного пути, зависит конкретная файловая система.
Если этот путь не имеет корневого компонента, и данный путь имеет корневой компонент, то этот путь не начинается с данного пути.
Если данный путь связан с другой файловой системой с этим путем, возвращается false.
other - данный путьpublic boolean startsWith(File other)
Этот путь начинается с заданного пути, если корневой компонент этого пути начинается с корневого компонента данного пути, и этот путь начинается с тех же элементов названия, что и указанный путь.
Если данный путь имеет больше элементов имени, чем этот путь, возвращается false. Независимо от того, начинается ли корневой компонент этого пути с корневым компонентом данного пути, зависит конкретная файловая система.
Если этот путь не имеет корневого компонента, и данный путь имеет корневой компонент, то этот путь не начинается с данного пути.
Если данный путь связан с другой файловой системой с этим путем, возвращается false.
other - данный путьpublic boolean startsWith(String other)
Этот путь начинается с заданного пути, если корневой компонент этого пути начинается с корневого компонента данного пути, и этот путь начинается с тех же элементов названия, что и указанный путь.
Если данный путь имеет больше элементов имени, чем этот путь, возвращается false. Независимо от того, начинается ли корневой компонент этого пути с корневым компонентом данного пути, зависит конкретная файловая система.
Если этот путь не имеет корневого компонента, и данный путь имеет корневой компонент, то этот путь не начинается с данного пути.
Если данный путь связан с другой файловой системой с этим путем, возвращается false.
other - данный путьpublic boolean endsWith(Path other)
Если данный путь содержит N элементов и не имеет корневого компонента, и этот путь имеет N или более элементов, то этот путь заканчивается указанным путем, если последние N элементов каждого пути, начиная с элемента, наиболее удаленного от корня, равны,
Если данный путь имеет корневой компонент, то этот путь заканчивается указанным путем, если корневой компонент этого пути заканчивается корневой составляющей данного пути, а соответствующие элементы обоих путей равны. Независимо от того, заканчивается ли корневой компонент этого пути с корневым компонентом данного пути, зависит конкретная файловая система.
Если этот путь не имеет корневого компонента, и данный путь имеет корневой компонент, то этот путь не заканчивается заданным путем.
Если данный путь связан с другой файловой системой с этим путем, возвращается false.
other - данный путьpublic boolean endsWith(File other)
Если данный путь содержит N элементов и не имеет корневого компонента, и этот путь имеет N или более элементов, то этот путь заканчивается указанным путем, если последние N элементов каждого пути, начиная с элемента, наиболее удаленного от корня, равны,
Если данный путь имеет корневой компонент, то этот путь заканчивается указанным путем, если корневой компонент этого пути заканчивается корневой составляющей данного пути, а соответствующие элементы обоих путей равны. Независимо от того, заканчивается ли корневой компонент этого пути с корневым компонентом данного пути, зависит конкретная файловая система.
Если этот путь не имеет корневого компонента, и данный путь имеет корневой компонент, то этот путь не заканчивается заданным путем.
Если данный путь связан с другой файловой системой с этим путем, возвращается false.
other - данный путьpublic boolean endsWith(String other)
Если данный путь содержит N элементов и не имеет корневого компонента, и этот путь имеет N или более элементов, то этот путь заканчивается указанным путем, если последние N элементов каждого пути, начиная с элемента, наиболее удаленного от корня, равны,
Если данный путь имеет корневой компонент, то этот путь заканчивается указанным путем, если корневой компонент этого пути заканчивается корневой составляющей данного пути, а соответствующие элементы обоих путей равны. Независимо от того, заканчивается ли корневой компонент этого пути с корневым компонентом данного пути, зависит конкретная файловая система.
Если этот путь не имеет корневого компонента, и данный путь имеет корневой компонент, то этот путь не заканчивается заданным путем.
Если данный путь связан с другой файловой системой с этим путем, возвращается false.
other - данный путьpublic File normalize()
Точное определение этого метода зависит от реализации, но в целом оно вытекает из этого пути, который не содержит избыточных элементов имени.
Во многих файловых системах «.» и ".." - это специальные имена, используемые для указания текущего каталога и родительского каталога. В таких файловых системах все вхождения «.» считаются избыточными. Если «..» предшествует имя «..», то оба имени считаются избыточными (процесс идентификации таких имен повторяется до тех пор, пока он больше не применим).
Этот метод не имеет доступа к файловой системе;
путь может не найти файл, который существует.
Исключение «..» и предыдущее имя из пути могут привести к тому, что
путь, который находит другой файл, чем исходный путь. Это может возникнуть,
когда предыдущее имя является символической ссылкой.
public File resolve(Path other)
Если параметр other является абсолютным путем, этот метод тривиально возвращает другое.
Если другой - пустой путь, этот метод тривиально возвращает этот путь.
В противном случае этот метод считает этот путь каталогом и разрешает данный путь по этому пути.
В простейшем случае данный путь не имеет корневого компонента, и в этом случае этот метод соединяет данный путь с этим путем и возвращает результирующий путь, который заканчивается данным путем.
Если данный путь имеет корневой компонент, то разрешение сильно зависит от реализации и поэтому не определено.
other - Путь который следует разрешитьpublic File resolve(File other)
Если параметр other является абсолютным путем, этот метод тривиально возвращает другое.
Если другой - пустой путь, этот метод тривиально возвращает этот путь.
В противном случае этот метод считает этот путь каталогом и разрешает данный путь по этому пути.
В простейшем случае данный путь не имеет корневого компонента, и в этом случае этот метод соединяет данный путь с этим путем и возвращает результирующий путь, который заканчивается данным путем.
Если данный путь имеет корневой компонент, то разрешение сильно зависит от реализации и поэтому не определено.
other - Путь который следует разрешитьpublic File resolve(String other)
Если параметр other является абсолютным путем, этот метод тривиально возвращает другое.
Если другой - пустой путь, этот метод тривиально возвращает этот путь.
В противном случае этот метод считает этот путь каталогом и разрешает данный путь по этому пути.
В простейшем случае данный путь не имеет корневого компонента, и в этом случае этот метод соединяет данный путь с этим путем и возвращает результирующий путь, который заканчивается данным путем.
Если данный путь имеет корневой компонент, то разрешение сильно зависит от реализации и поэтому не определено.
other - Путь который следует разрешитьpublic File relativize(Path other)
Релятивизация является обратной функцией для разрешения.
Этот метод пытается построить относительный путь, который при разрешении по этому пути дает путь, который находит тот же файл, что и указанный путь.
Например, в UNIX, если этот путь является «/ a / b», и данный путь «/ a / b / c / d»,
то полученный относительный путь будет «c / d».
Если этот путь и данный путь не имеют корневого компонента,
то можно построить относительный путь. Относительный путь не может быть построен,
если только один из путей имеет корневой компонент.
Если оба пути имеют корневой компонент, то он зависит от реализации,
если можно построить относительный путь.
Если этот путь и заданный путь равны, возвращается пустой путь.
Для любых двух нормализованных путей p и q, где q не имеет корневой компоненты, p.relativize(p.resolve(q)).equals(q)
Когда поддерживаются символические ссылки, то возникает ли результирующий путь, когда он разрешен по этому пути, путь, который может использоваться для поиска того же файла, что и другой, зависит от реализации.
Например, если этот путь «/ a / b», и данный путь «/ a / x»,
то полученный относительный путь может быть «../x».
Если «b» является символической ссылкой, то зависит от реализации, если «a / b /../ x»
найдет тот же файл, что и «/ a / x».
other - путь к релятивизации против этого путиpublic File relativize(File other)
Релятивизация является обратной функцией для разрешения.
Этот метод пытается построить относительный путь, который при разрешении по этому пути дает путь, который находит тот же файл, что и указанный путь.
Например, в UNIX, если этот путь является «/ a / b», и данный путь «/ a / b / c / d»,
то полученный относительный путь будет «c / d».
Если этот путь и данный путь не имеют корневого компонента,
то можно построить относительный путь. Относительный путь не может быть построен,
если только один из путей имеет корневой компонент.
Если оба пути имеют корневой компонент, то он зависит от реализации,
если можно построить относительный путь.
Если этот путь и заданный путь равны, возвращается пустой путь.
Для любых двух нормализованных путей p и q, где q не имеет корневой компоненты, p.relativize(p.resolve(q)).equals(q)
Когда поддерживаются символические ссылки, то возникает ли результирующий путь, когда он разрешен по этому пути, путь, который может использоваться для поиска того же файла, что и другой, зависит от реализации.
Например, если этот путь «/ a / b», и данный путь «/ a / x»,
то полученный относительный путь может быть «../x».
Если «b» является символической ссылкой, то зависит от реализации, если «a / b /../ x»
найдет тот же файл, что и «/ a / x».
other - путь к релятивизации против этого путиpublic URI toUri()
public URL toUrl()
public File toAbsolute()
public File toReal(LinkOption... options) throws IOException
IOExceptionpublic File toFile()
public WatchKey register(WatchService watcher, WatchEvent.Kind<?>[] events, WatchEvent.Modifier... modifiers) throws IOException
IOExceptionpublic WatchKey register(WatchService watcher, WatchEvent.Kind<?>... events) throws IOException
IOExceptionpublic int compareTo(File other)
Порядок, определенный этим методом, специфичен для провайдера, а в случае поставщика по умолчанию - для конкретной платформы.
Этот метод не имеет доступа к файловой системе, и ни один файл не требуется для существования. Этот метод не может использоваться для сравнения путей, связанных с различными поставщиками файловых систем.
compareTo in interface Comparable<File>other - путь по сравнению с этим путем.public boolean equals(Object other)
Если данный объект не является Путем или является Путем, связанным с другой файловой системой, то этот метод возвращает false.
Независимо от того, равен или нет два пути, зависит от реализации файловой системы. В некоторых случаях пути сравниваются без учета случая, а другие чувствительны к регистру.
Этот метод не имеет доступа к файловой системе, и файл не требуется для существования. При необходимости метод isSameFile может использоваться для проверки наличия двух путей в том же файле.
Этот метод удовлетворяет общему договору метода Object.equals.
public int hashCode()
public String toString()
Если этот путь был создан путем преобразования строки пути с использованием метода getPath, то строка пути, возвращаемая этим методом, может отличаться от исходной строки, используемой для создания пути.
В возвращаемой строке пути используется разделитель имен по умолчанию для разделения имен в пути.
public String getName()
public String getExtension()
public String getBasename()
public DirIterator dirIterator()
public FileTreeIterableBuilder tree()
public boolean isDirectory(LinkOption... options)
Массив опций может использоваться для указания того, как обрабатываются символические ссылки для случая, когда файл является символической ссылкой.
По умолчанию используются символические ссылки и считывается атрибут файла конечной цели ссылки.
Если присутствует опция NOFOLLOW_LINKS, то символьные ссылки не соблюдаются.
Где требуется отличать исключение ввода-вывода от случая, когда файл не является каталогом, атрибуты файла могут быть прочитаны с помощью метода readAttributes и типа файла, проверенного с помощью метода BasicFileAttributes.isDirectory.
options - параметры, указывающие, как обрабатываются символические ссылкиpublic boolean isRegularFile(LinkOption... options)
Массив опций может использоваться для указания того, как обрабатываются символические ссылки для случая, когда файл является символической ссылкой.
По умолчанию используются символические ссылки и считывается атрибут файла конечной цели ссылки.
Если присутствует опция NOFOLLOW_LINKS, то символьные ссылки не соблюдаются.
Где требуется отличать исключение ввода-вывода от случая, когда файл не является обычным файлом, тогда атрибуты файла могут быть прочитаны с помощью метода readAttributes и типа файла, проверенного с помощью метода BasicFileAttributes.isRegularFile.
options - параметры, указывающие, как обрабатываются символические ссылкиpublic boolean isFile()
public boolean isSymbolicLink()
Где требуется различать исключение ввода-вывода из случая, когда файл не является символической ссылкой, атрибуты файла могут быть прочитаны с помощью метода readAttributes и типа файла, проверенного методом BasicFileAttributes.isSymbolicLink.
public boolean isWritable()
Этот метод проверяет, существует ли файл и что эта виртуальная машина Java имеет соответствующие привилегии, которые позволили бы ему открыть файл для записи.
В зависимости от реализации этот метод может потребовать проверки прав доступа к файлам, списков управления доступом или других атрибутов файла, чтобы проверить эффективный доступ к файлу.
Следовательно, этот метод может быть не атомарным по отношению к другим операциям файловой системы. Обратите внимание, что результат этого метода сразу устарел, нет гарантии, что последующая попытка открыть файл для записи будет успешной (или даже если она получит доступ к тому же файлу).
Следует соблюдать осторожность при использовании этого метода в приложениях, чувствительных к безопасности.
public boolean isSameFile(Path path2)
Если оба объекта Path равны, то этот метод возвращает true, не проверяя, существует ли файл. Если два объекта Path связаны с разными провайдерами, этот метод возвращает false.
В противном случае этот метод проверяет, могут ли оба объекта Path найти один и тот же файл и в зависимости от реализации могут потребовать открытия или доступа к обеим файлам.
Если файловая система и файлы остаются статическими, то этот метод реализует отношение эквивалентности для ненулевых путей.
Он рефлексивен: для пути f isSameFile (f, f) должен возвращать true.
Он симметричен: для двух путей f и g isSameFile (f, g) будет равно isSameFile (g, f).
Это транзитивно: для трех путей f, g и h, если isSameFile (f, g) возвращает true и isSameFile (g, h)
возвращает true, то isSameFile (g, h) вернет значение true.
path2 - другой путьpublic boolean isSameFile(File path2)
Если оба объекта Path равны, то этот метод возвращает true, не проверяя, существует ли файл. Если два объекта Path связаны с разными провайдерами, этот метод возвращает false.
В противном случае этот метод проверяет, могут ли оба объекта Path найти один и тот же файл и в зависимости от реализации могут потребовать открытия или доступа к обеим файлам.
Если файловая система и файлы остаются статическими, то этот метод реализует отношение эквивалентности для ненулевых путей.
Он рефлексивен: для пути f isSameFile (f, f) должен возвращать true.
Он симметричен: для двух путей f и g isSameFile (f, g) будет равно isSameFile (g, f).
Это транзитивно: для трех путей f, g и h, если isSameFile (f, g) возвращает true и isSameFile (g, h)
возвращает true, то isSameFile (g, h) вернет значение true.
path2 - другой путьpublic boolean isDir()
По умолчанию используются символические ссылки и считывается атрибут файла конечной цели ссылки.
public boolean isExecutable()
Этот метод проверяет, существует ли файл и что эта виртуальная машина Java имеет соответствующие права на файл Runtime.exec.
При проверке доступа к каталогу семантика может отличаться.
Например, в системах UNIX проверка наличия доступа проверяет, имеет ли виртуальная машина Java разрешение на поиск в каталоге для доступа к файлу или подкаталогам.
В зависимости от реализации этот метод может потребовать проверки прав доступа к файлам, списков управления доступом или других атрибутов файла, чтобы проверить эффективный доступ к файлу.
Следовательно, этот метод может быть не атомарным по отношению к другим операциям файловой системы.
Обратите внимание, что результат этого метода сразу устарел, нет гарантии, что последующая попытка выполнить файл будет успешной (или даже будет иметь доступ к тому же файлу).
Следует соблюдать осторожность при использовании этого метода в приложениях, чувствительных к безопасности.
public boolean isHidden()
Точное определение скрытых зависит от платформы или поставщика.
Например, в UNIX файл считается скрытым, если его имя начинается с символа периода ('.').
В Windows файл считается скрытым, если он не является каталогом и установлен атрибут DOS DosFileAttributes.isHidden.
В зависимости от реализации этот метод может потребовать доступа к файловой системе, чтобы определить, считается ли файл скрытым.
public boolean isReadable()
Этот метод проверяет, существует ли файл и что эта виртуальная машина Java имеет соответствующие привилегии, которые позволят ему открыть файл для чтения.
В зависимости от реализации этот метод может потребовать проверки прав доступа к файлам, списков управления доступом или других атрибутов файла, чтобы проверить эффективный доступ к файлу.
Следовательно, этот метод может быть не атомарным по отношению к другим операциям файловой системы.
Обратите внимание, что результат этого метода сразу устарел, нет гарантии, что последующая попытка открыть файл для чтения будет успешной (или даже если она будет обращаться к одному и тому же файлу).
Следует соблюдать осторожность при использовании этого метода в приложениях, чувствительных к безопасности.
public boolean notExists(LinkOption... opts)
Этот метод предназначен для случаев, когда требуется принять меры, когда можно подтвердить, что файл не существует.
Параметр options может использоваться для указания того, как обрабатываются символические ссылки для случая, когда файл является символической ссылкой.
По умолчанию используются символические ссылки.
Если присутствует опция NOFOLLOW_LINKS, то символьные ссылки не соблюдаются.
Обратите внимание, что этот метод не является дополнением к методу exist. Если невозможно определить, существует ли файл или нет, оба метода возвращают false. Как и в методе exist, результат этого метода сразу устарел.
Если этот метод указывает, что файл существует, то нет гарантии, что попытка создания последовательности для последовательности будет успешной.
Следует соблюдать осторожность при использовании этого метода в чувствительном к безопасности
opts - параметры, указывающие, как обрабатываются символические ссылкиpublic boolean notExists()
Этот метод предназначен для случаев, когда требуется принять меры, когда можно подтвердить, что файл не существует.
По умолчанию используются символические ссылки.
Обратите внимание, что этот метод не является дополнением к методу exist. Если невозможно определить, существует ли файл или нет, оба метода возвращают false. Как и в методе exist, результат этого метода сразу устарел.
Если этот метод указывает, что файл существует, то нет гарантии, что попытка создания последовательности для последовательности будет успешной.
Следует соблюдать осторожность при использовании этого метода в чувствительном к безопасности
public boolean exists(LinkOption... options)
Параметр options может использоваться для указания того, как обрабатываются символические ссылки для случая, когда файл является символической ссылкой.
По умолчанию используются символические ссылки.
Если присутствует опция NOFOLLOW_LINKS, то символьные ссылки не соблюдаются.
Обратите внимание, что результат этого метода сразу устарел. Если этот метод указывает, что файл существует, то нет гарантии, что доступ подпоследовательности будет успешным.
Следует соблюдать осторожность при использовании этого метода в приложениях, чувствительных к безопасности.
options - options - опции, указывающие, как обрабатываются символические ссылки.public boolean isExists()
По умолчанию используются символические ссылки.
Обратите внимание, что результат этого метода сразу устарел. Если этот метод указывает, что файл существует, то нет гарантии, что доступ подпоследовательности будет успешным.
Следует соблюдать осторожность при использовании этого метода в приложениях, чувствительных к безопасности.
public long getSize()
Размер может отличаться от фактического размера файловой системы из-за сжатия, поддержки разреженных файлов или по другим причинам.
Размер файлов, которые не являются обычными файлами, специфичен для реализации и поэтому не указан.
public InputStream readStream(OpenOption... opts)
Поток не буферизуется и не требуется поддерживать методы InputStream.mark или InputStream.reset.
Поток будет безопасным для доступа несколькими параллельными потоками.
Чтение начинается в начале файла. Независимо от того, является ли возвращенный поток асинхронно закрытым и / или прерывается, сильно зависит от поставщика файловой системы и поэтому не указывается.
Параметр options определяет способ открытия файла.
Если параметров нет, это эквивалентно открытию файла с помощью опции READ.
В дополнение к опции READ, реализация может также поддерживать дополнительные варианты реализации.
opts - options - опции, определяющие способ открытия файлаpublic OutputStream writeStream(OpenOption... opts)
Результирующий поток не будет буферизирован.
Поток будет безопасным для доступа несколькими параллельными потоками. Независимо от того, является ли возвращенный поток асинхронно закрытым и / или прерывается, сильно зависит от поставщика файловой системы и поэтому не указывается.
Этот метод открывает или создает файл точно таким же образом, как метод newByteChannel, за исключением того, что опция READ может отсутствовать в массиве параметров.
Если параметров нет, этот метод работает так, как если бы присутствовали опции CREATE, TRUNCATE_EXISTING и WRITE.
Другими словами, он открывает файл для записи, создавая файл, если он не существует, или изначально обрезает существующий обычный файл до размера 0, если он существует.
File file = ...
// обрезаем и перезаписываем существующий файл или создаем файл if
// он изначально не существует
OutputStream out = file.writeStream();
// добавление к существующему файлу, завершение неудачи, если файл не существует
out = file.writeStream (APPEND);
// добавляем к существующему файлу, создаем файл, если он изначально не существует
out = file.writeStream (CREATE, APPEND);
// всегда создаем новый файл, если он уже существует
out = file.writeStream (CREATE_NEW);
opts - options - опции, определяющие способ открытия файлаpublic void delete()
Для реализации может потребоваться проверка файла, чтобы определить, является ли файл каталогом.
Следовательно, этот метод может быть не атомарным по отношению к другим операциям файловой системы.
Если файл является символической ссылкой, то сама символическая ссылка, а не конечная цель ссылки, удаляется.
Если файл является каталогом, каталог должен быть пустым.
В некоторых реализациях каталог имеет записи для специальных файлов или ссылок, которые создаются при создании каталога.
В таких реализациях каталог считается пустым, когда существуют только специальные записи.
Этот метод можно использовать с методом tree для удаления каталога и всех записей в каталоге или всего необходимого дерева файлов.
некоторых операционных системах может быть невозможно удалить файл, когда он открыт и используется этой виртуальной машиной Java или другими программами.
public boolean deleteIfExists()
Как и в методе delete (Path), реализации, возможно, потребуется изучить файл, чтобы определить, является ли файл каталогом.
Следовательно, этот метод может быть не атомарным по отношению к другим операциям файловой системы.
Если файл является символической ссылкой, то сама символическая ссылка, а не конечная цель ссылки, удаляется.
Если файл является каталогом, каталог должен быть пустым.
В некоторых реализациях каталог имеет записи для специальных файлов или ссылок, которые создаются при создании каталога.
В таких реализациях каталог считается пустым, когда существуют только специальные записи.
В некоторых операционных системах может быть невозможно удалить файл, когда он открыт и используется этой виртуальной машиной Java или другими программами.
public File createTempFile(String prefix, String suffix, FileAttribute<?>... attrs)
Полученный Путь связан с той же FileSystem, что и указанный каталог.
Информация о том, как сконструировано имя файла, зависит от реализации и поэтому не указана.
По возможности префикс и суффикс используются для создания имен кандидатов таким же образом, как метод File.createTempFile (String, String, File).
Как и в методах File.createTempFile, этот метод является лишь частью средства временного файла.
В случае использования в качестве рабочих файлов результирующий файл может быть открыт с помощью параметра DELETE_ON_CLOSE, чтобы файл удалялся при вызове соответствующего метода close.
Кроме того, для автоматического удаления файла может использоваться Runtime.addShutdownHook или механизм File.deleteOnExit.
Параметр attrs является необязательным атрибутом FileAttribute для атомарного набора при создании файла. Каждый атрибут идентифицируется его FileAttribute.name.
Если в массив включено более одного атрибута с тем же именем, то все,
кроме последнего вхождения, игнорируются.
Если атрибуты файлов не указаны,
то результирующий файл может иметь более ограничительные права доступа к файлам,
созданным методом File.createTempFile (String, String, File).
prefix - префиксную строку, которая будет использоваться при создании имени файла; может быть нулевымsuffix - строка суффикса, которая будет использоваться при создании имени файла;
может быть нулевым, и в этом случае используется «.tmp»attrs - необязательный список атрибутов файла для атомарного набора при создании файлаpublic static File tempFile(String prefix, String suffix, FileAttribute<?>... attrs)
Полученный Путь связан с файловой системой по умолчанию.
Этот метод работает точно так же, как метод Files.createTempFile (Path, String, String, FileAttribute []) для случая, когда параметр dir является каталогом временных файлов.
prefix - префиксную строку, которая будет использоваться при создании имени файла; может быть нулевымsuffix - строка суффикса, которая будет использоваться при создании имени файла;
может быть нулевым, и в этом случае используется «.tmp»attrs - необязательный список атрибутов файла для атомарного набора при создании файлаpublic File createTempDirectory(String prefix, FileAttribute<?>... attrs)
Полученный Путь связан с той же FileSystem, что и указанный каталог.
Информация о том, как создается имя каталога, зависит от реализации и поэтому не указана. По возможности префикс используется для создания имен кандидатов.
Как и в методах createTempFile, этот метод является лишь частью средства временного файла.
Для автоматического удаления каталога может использоваться Runtime.addShutdownHook или механизм File.deleteOnExit.
Параметр attrs является необязательным атрибутом FileAttribute для атомарного набора при создании каталога.
Каждый атрибут идентифицируется его FileAttribute.name.
Если в массив включено более одного атрибута с тем же именем, то все, кроме последнего вхождения, игнорируются.
prefix - префиксную строку, которая будет использоваться при создании имени каталога; может быть нулевымattrs - необязательный список атрибутов файла для атомарного набора при создании файлаpublic static File tempDirectory(String prefix, FileAttribute<?>... attrs)
Полученный Путь связан с файловой системой по умолчанию.
Этот метод работает точно так же, как метод Files.createTempDirectory (Path, String, FileAttribute []) для случая, когда параметр dir является файлом временного файла.
prefix - префиксную строку, которая будет использоваться при создании имени каталога; может быть нулевымattrs - необязательный список атрибутов файла для атомарного набора при создании файлаpublic File createDirectories(FileAttribute<?>... attrs)
В отличие от метода createDirectory исключение не создается, если каталог не может быть создан, потому что он уже существует.
Параметр attrs является необязательным атрибутом FileAttribute для атомарного набора при создании несуществующих каталогов.
Каждый атрибут файла определяется его FileAttribute.name.
Если в массив включено более одного атрибута с тем же именем, то все, кроме последнего вхождения, игнорируются.
Если этот метод выходит из строя, он может сделать это после создания некоторых, но не всех, родительских каталогов.
attrs - необязательный список атрибутов файла для атомарного набора при создании каталогаpublic File createDirectory(FileAttribute<?>... attrs)
Проверка наличия файла и создания каталога, если он не существует, - это одна операция, которая является атомарной относительно всех других действий файловой системы, которые могут повлиять на каталог.
Метод createDirectories должен использоваться там, где требуется сначала создать все несуществующие родительские каталоги.
Параметр attrs является необязательным атрибутом FileAttribute для атомарного набора при создании каталога. Каждый атрибут идентифицируется его FileAttribute.name.
Если в массив включено более одного атрибута с тем же именем, то все, кроме последнего вхождения, игнорируются.
attrs - необязательный список атрибутов файла для атомарного набора при создании каталогаpublic File createFile(FileAttribute<?>... attrs)
Проверка наличия файла и создание нового файла, если он не существует, - это одна операция, которая является атомарной по отношению ко всем другим действиям файловой системы, которые могут повлиять на каталог.
Параметр attrs является необязательным атрибутом FileAttribute для атомарного набора при создании файла.
Каждый атрибут идентифицируется его FileAttribute.name.
Если в массив включено более одного атрибута с тем же именем, то все, кроме последнего вхождения, игнорируются.
attrs - необязательный список атрибутов файла для атомарного набора при созданииpublic File createLink(Path target)
Параметр ссылки находит запись каталога для создания.
Существующий параметр - это путь к существующему файлу.
Этот метод создает новую запись каталога для файла, так что к ней можно получить доступ, используя ссылку в качестве пути.
В некоторых файловых системах это называется созданием «жесткой ссылки».
Поддерживаются ли атрибуты файла для файла или для каждой записи каталога, зависит от конкретной файловой системы и поэтому не указывается. Как правило, для файловой системы требуется, чтобы все ссылки (записи в каталоге) для файла находились в одной и той же файловой системе.
Кроме того, на некоторых платформах виртуальная машина Java может потребоваться начать с особых прав реализации для создания жестких ссылок или для создания ссылок на каталоги.
target - цель куда ссылаетсяpublic File createLink(File target)
Параметр ссылки находит запись каталога для создания.
Существующий параметр - это путь к существующему файлу. Этот метод создает новую запись каталога для файла, так что к ней можно получить доступ, используя ссылку в качестве пути.
В некоторых файловых системах это называется созданием «жесткой ссылки».
Поддерживаются ли атрибуты файла для файла или для каждой записи каталога, зависит от конкретной файловой системы и поэтому не указывается.
Как правило, для файловой системы требуется, чтобы все ссылки (записи в каталоге) для файла находились в одной и той же файловой системе.
Кроме того, на некоторых платформах виртуальная машина Java может потребоваться начать с особых прав реализации для создания жестких ссылок или для создания ссылок на каталоги.
target - цель куда ссылаетсяpublic File createSymbolicLink(Path target, FileAttribute<?>... attrs)
Целевой параметр является целью ссылки.
Это может быть абсолютный или относительный путь и может не существовать.
Когда целью является относительный путь, то операции файловой системы по результирующей ссылке относятся к пути к ссылке.
Параметр attrs является необязательным атрибутом FileAttribute для атомарного набора при создании ссылки. Каждый атрибут идентифицируется его FileAttribute.name.
Если в массив включено более одного атрибута с тем же именем, то все, кроме последнего вхождения, игнорируются.
Там, где поддерживаются символические ссылки, но базовый FileStore не поддерживает символические ссылки, это может завершиться с ошибкой IOException.
Кроме того, некоторым операционным системам может потребоваться запуск виртуальной машины Java с конкретными правами реализации для создания символических ссылок, и в этом случае этот метод может вызывать исключение IOException.
target - цель символической ссылкиattrs - массив атрибутов, который устанавливается атомарно при создании символической ссылкиpublic File createSymbolicLink(File target, FileAttribute<?>... attrs)
Целевой параметр является целью ссылки.
Это может быть абсолютный или относительный путь и может не существовать.
Когда целью является относительный путь, то операции файловой системы по результирующей ссылке относятся к пути к ссылке.
Параметр attrs является необязательным атрибутом FileAttribute для атомарного набора при создании ссылки. Каждый атрибут идентифицируется его FileAttribute.name.
Если в массив включено более одного атрибута с тем же именем, то все, кроме последнего вхождения, игнорируются.
Там, где поддерживаются символические ссылки, но базовый FileStore не поддерживает символические ссылки, это может завершиться с ошибкой IOException.
Кроме того, некоторым операционным системам может потребоваться запуск виртуальной машины Java с конкретными правами реализации для создания символических ссылок, и в этом случае этот метод может вызывать исключение IOException.
target - цель символической ссылкиattrs - массив атрибутов, который устанавливается атомарно при создании символической ссылкиpublic Object getAttribute(String attrib, LinkOption... lopts)
Параметр атрибута идентифицирует атрибут для чтения и принимает форму:
[Вид имя:] атрибут-имя
где квадратные скобки [...] определяют необязательный компонент, а символ «:» обозначает себя.
view-name - это FileAttributeView.name файла FileAttributeView, который идентифицирует набор атрибутов файла.
Если не указано, то по умолчанию используется «basic», имя представления атрибута файла, которое идентифицирует базовый набор атрибутов файлов, общих для многих файловых систем.
attribute-name - это имя атрибута.
Массив опций может использоваться для указания того, как обрабатываются символические ссылки для случая, когда файл является символической ссылкой.
По умолчанию используются символические ссылки и считывается атрибут файла конечной цели ссылки.
Если присутствует опция NOFOLLOW_LINKS, то символьные ссылки не соблюдаются.
Пример использования.
Предположим, нам нужен идентификатор пользователя владельца файла в системе, которая поддерживает представление «unix»: File file = ... int uid = (Integer) file.getAttribute ("unix: uid");
attrib - атрибут для чтенияlopts - параметры, указывающие, как обрабатываются символические ссылкиpublic File setAttribute(String attrib, Object value, LinkOption... lopts)
Параметр атрибута определяет атрибут, который должен быть установлен, и принимает форму:
[Вид имя:] атрибут-имя
где квадратные скобки [...] определяют необязательный компонент, а символ «:» обозначает себя.
view-name - это FileAttributeView.name файла FileAttributeView, который идентифицирует набор атрибутов файла.
Если не указано, то по умолчанию используется «basic», имя представления атрибута файла, которое идентифицирует базовый набор атрибутов файлов, общих для многих файловых систем.
attribute-name - это имя атрибута в наборе.
Массив опций может использоваться для указания того, как обрабатываются символические ссылки для случая, когда файл является символической ссылкой.
По умолчанию используются символические ссылки и задан атрибут файла конечной цели ссылки.
Если присутствует опция NOFOLLOW_LINKS, то символьные ссылки не соблюдаются.
Пример использования: предположим, что мы хотим установить DOS «скрытый» атрибут:
File file = ...
files.setAttribute ("dos: hidden", true);
attrib - атрибут для установкиvalue - значение атрибутаlopts - параметры, указывающие, как обрабатываются символические ссылкиpublic <V extends FileAttributeView> V getFileAttributeView(Class<V> type, LinkOption... lopts)
Представление атрибута файла предоставляет доступное только для чтения или обновляемое представление набора атрибутов файла.
Этот метод предназначен для использования, когда представление атрибута файла определяет методы безопасного типа для чтения или обновления атрибутов файла.
Параметр type - это тип требуемого вида атрибута, и метод возвращает экземпляр этого типа, если он поддерживается.
Тип BasicFileAttributeView поддерживает доступ к основным атрибутам файла.
Вызов этого метода для выбора представления атрибута файла этого типа всегда будет возвращать экземпляр этого класса.
Массив параметров может использоваться, чтобы указать, как обрабатываются символические ссылки в результате представления атрибута файла для случая, когда файл является символической ссылкой.
По умолчанию используются символические ссылки.
Если присутствует опция NOFOLLOW_LINKS, то символьные ссылки не соблюдаются.
Этот вариант игнорируется реализациями, которые не поддерживают символические ссылки.
Пример использования:
предположим, что мы хотим прочитать или установить ACL файла, если он поддерживается:
File file = ...
AclFileAttributeView view = Files.getFileAttributeView (путь, AclFileAttributeView.class);
if (view! = null) {
List<AclEntry> acl = view.getAcl ();
...
}
V - Тип атрибутовtype - объект класса, соответствующий представлению атрибута файлаlopts - параметры, указывающие, как обрабатываются символические ссылкиpublic FileStore getFileStore()
Когда полученная ссылка на FileStore получена, она специфична для реализации, если операции с возвращаемыми объектами FileStore или FileStoreAttributeView, полученными из нее, продолжают зависеть от существования файла.
В частности, поведение не определено для случая, когда файл удаляется или перемещается в другой хранилище файлов.
public FileTime getLastModifiedTime(LinkOption... lopts)
Массив опций может использоваться для указания того, как обрабатываются символические ссылки для случая, когда файл является символической ссылкой.
По умолчанию используются символические ссылки и считывается атрибут файла конечной цели ссылки.
Если присутствует опция NOFOLLOW_LINKS, то символьные ссылки не соблюдаются.
lopts - параметры, указывающие, как обрабатываются символические ссылкиpublic Date getLastModifiedDate(LinkOption... lopts)
Массив опций может использоваться для указания того, как обрабатываются символические ссылки для случая, когда файл является символической ссылкой.
По умолчанию используются символические ссылки и считывается атрибут файла конечной цели ссылки.
Если присутствует опция NOFOLLOW_LINKS, то символьные ссылки не соблюдаются.
lopts - параметры, указывающие, как обрабатываются символические ссылкиpublic File setLastModifiedTime(FileTime ftime)
Время файла преобразуется в эпоху и точность, поддерживаемую файловой системой.
Преобразование от более тонких к более крупным деталям приводит к прецизионным потерям.
Поведение этого метода при попытке установить последнее измененное время, когда оно не поддерживается файловой системой или находится за пределами диапазона, поддерживаемого базовым хранилищем файлов, не определено.
Это может произойти с ошибкой IOException.
ftime - новое значение последнего измененненияpublic File setLastModifiedDate(Date date)
Время файла преобразуется в эпоху и точность, поддерживаемую файловой системой.
Преобразование от более тонких к более крупным деталям приводит к прецизионным потерям.
Поведение этого метода при попытке установить последнее измененное время, когда оно не поддерживается файловой системой или находится за пределами диапазона, поддерживаемого базовым хранилищем файлов, не определено.
Это может произойти с ошибкой IOException.
date - новое значение последнего измененненияpublic UserPrincipal getOwner(LinkOption... lopts)
Параметр path связан с файловой системой, которая поддерживает FileOwnerAttributeView. Это представление атрибута файла предоставляет доступ к атрибуту файла, который является владельцем файла.
lopts - параметры, указывающие, как обрабатываются символические ссылкиpublic File setOwner(UserPrincipal user)
Параметр path связан с файловой системой, которая поддерживает FileOwnerAttributeView.
Это представление атрибута файла предоставляет доступ к атрибуту файла, который является владельцем файла.
Пример использования: предположим, что мы хотим сделать «joe» владельцем файла:
Путь пути = ... UserPrincipalLookupService lookupService = поставщик (путь) .getUserPrincipalLookupService (); UserPrincipal joe = lookupService.lookupPrincipalByName ("joe"); Files.setOwner (путь, joe);
user - Новый владелец файлаpublic Set<PosixFilePermission> getPosixFilePermissions(LinkOption... lopts)
Параметр path связан с файловой системой, которая поддерживает PosixFileAttributeView.
Это представление атрибутов обеспечивает доступ к атрибутам файлов, обычно связанным с файлами файловых систем, используемых операционными системами, которые используют семейство стандартов Portable Operating System Interface (POSIX).
Массив опций может использоваться для указания того, как обрабатываются символические ссылки для случая, когда файл является символической ссылкой.
По умолчанию используются символические ссылки и считывается атрибут файла конечной цели ссылки.
Если присутствует опция NOFOLLOW_LINKS, то символьные ссылки не соблюдаются.
lopts - параметры, указывающие, как обрабатываются символические ссылкиpublic File setPosixFilePermissions(Set<PosixFilePermission> perms)
Параметр path связан с файловой системой, которая поддерживает PosixFileAttributeView.
Это представление атрибутов обеспечивает доступ к атрибутам файлов, обычно связанным с файлами файловых систем, используемых операционными системами, которые используют семейство стандартов Portable Operating System Interface (POSIX).
perms - Новый набор разрешенийpublic File move(Path target, CopyOption... copts)
По умолчанию этот метод пытается переместить файл в целевой файл, если он не существует, если целевой файл существует, за исключением случаев, когда источник и цель являются одним и тем же файлом, и в этом случае этот метод не влияет.
Если файл является символической ссылкой, перемещается сама символическая ссылка, а не цель ссылки. Этот метод можно вызвать, чтобы переместить пустой каталог.
В некоторых реализациях каталог имеет записи для специальных файлов или ссылок, которые создаются при создании каталога. В таких реализациях каталог считается пустым, когда существуют только специальные записи.
При вызове для перемещения каталога, который не является пустым, каталог перемещается, если он не требует перемещения записей в каталоге.
Например, переименование каталога в том же FileStore, как правило, не требует перемещения записей в каталоге.
При перемещении каталога требуется, чтобы его записи были перемещены, тогда этот метод завершился неудачно (путем исключения исключения IOException).
Для перемещения дерева файлов может потребоваться копирование, а не перемещение каталогов, и это можно сделать с помощью метода копирования в сочетании с утилитой Files.walkFileTree.
Параметр параметров может включать в себя любое из следующего:
Если целевой файл существует, то он специфичен для реализации, если существующий файл заменен или этот метод терпит неудачу, выбрасывая исключение IOException. Если перемещение не может выполняться как операция с использованием атомной файловой системы, то вызывается AtomicMoveNotSupportedException.
Это может возникнуть, например, когда целевое местоположение находится в другом файловом хранилище и требует, чтобы файл был скопирован, или целевое местоположение связано с другим поставщиком этого объекта.
Если для перемещения требуется скопировать файл, то файл BasicFileAttributes.lastModifiedTime будет скопирован в новый файл.
Реализация также может попытаться скопировать другие атрибуты файла, но не требуется сбой, если атрибуты файла не могут быть скопированы.
Когда перемещение выполняется как неатомная операция, и генерируется исключение IOException, состояние файлов не определяется.
Исходный файл и целевой файл могут существовать, целевой файл может быть неполным или некоторые его атрибуты файла не могут быть скопированы из исходного файла.
Примеры использования.
Предположим, мы хотим переименовать файл в «новое имя», сохранив файл в том же каталоге: Источник пути = ... Files.move (source, source.resolveSibling ("newname")); В качестве альтернативы предположим, что мы хотим переместить файл в новый каталог, сохранив одно и то же имя файла и заменив любой существующий файл этого имени в каталоге: Источник пути = ... Путь newdir = ... Files.move (source, newdir.resolve (source.getFileName ()), REPLACE_EXISTING);
target - путь к целевому файлу (может быть связан с другим провайдером с исходным путем)copts - варианты, указывающие, как следует переименовыватьpublic File move(File target, CopyOption... copts)
По умолчанию этот метод пытается переместить файл в целевой файл, если он не существует, если целевой файл существует, за исключением случаев, когда источник и цель являются одним и тем же файлом, и в этом случае этот метод не влияет. Если файл является символической ссылкой, перемещается сама символическая ссылка, а не цель ссылки. Этот метод можно вызвать, чтобы переместить пустой каталог. В некоторых реализациях каталог имеет записи для специальных файлов или ссылок, которые создаются при создании каталога. В таких реализациях каталог считается пустым, когда существуют только специальные записи. При вызове для перемещения каталога, который не является пустым, каталог перемещается, если он не требует перемещения записей в каталоге. Например, переименование каталога в том же FileStore, как правило, не требует перемещения записей в каталоге. При перемещении каталога требуется, чтобы его записи были перемещены, тогда этот метод завершился неудачно (путем исключения исключения IOException). Для перемещения дерева файлов может потребоваться копирование, а не перемещение каталогов, и это можно сделать с помощью метода копирования в сочетании с утилитой Files.walkFileTree. Параметр параметров может включать в себя любое из следующего: REPLACE_EXISTING Если целевой файл существует, то целевой файл заменяется, если он не является непустым каталогом. Если целевой файл существует и является символической ссылкой, вместо него заменяется сама символическая ссылка, а не цель ссылки. ATOMIC_MOVE Перемещение выполняется как операция с файловой системой атома, и все остальные параметры игнорируются. Если целевой файл существует, то он специфичен для реализации, если существующий файл заменен или этот метод терпит неудачу, выбрасывая исключение IOException. Если перемещение не может выполняться как операция с использованием атомной файловой системы, то вызывается AtomicMoveNotSupportedException. Это может возникнуть, например, когда целевое местоположение находится в другом файловом хранилище и требует, чтобы файл был скопирован, или целевое местоположение связано с другим поставщиком этого объекта. Реализация этого интерфейса может поддерживать дополнительные варианты реализации. Если для перемещения требуется скопировать файл, то файл BasicFileAttributes.lastModifiedTime будет скопирован в новый файл. Реализация также может попытаться скопировать другие атрибуты файла, но не требуется сбой, если атрибуты файла не могут быть скопированы. Когда перемещение выполняется как неатомная операция, и генерируется исключение IOException, состояние файлов не определяется. Исходный файл и целевой файл могут существовать, целевой файл может быть неполным или некоторые его атрибуты файла не могут быть скопированы из исходного файла. Примеры использования. Предположим, мы хотим переименовать файл в «новое имя», сохранив файл в том же каталоге: Источник пути = ... Files.move (source, source.resolveSibling ("newname")); В качестве альтернативы предположим, что мы хотим переместить файл в новый каталог, сохранив одно и то же имя файла и заменив любой существующий файл этого имени в каталоге: Источник пути = ... Путь newdir = ... Files.move (source, newdir.resolve (source.getFileName ()), REPLACE_EXISTING);
target - путь к целевому файлу (может быть связан с другим провайдером с исходным путем)copts - варианты, указывающие, как следует переименовыватьpublic long copyFrom(InputStream input, CopyOption... copts)
По возвращении входной поток будет в конце потока.
По умолчанию копия завершается с ошибкой, если целевой файл уже существует или является символической ссылкой. Если указан параметр REPLACE_EXISTING, и целевой файл уже существует, то он заменяется, если он не является непустым каталогом. Если целевой файл существует и является символической ссылкой, то символическая ссылка заменяется.
В этом выпуске опция REPLACE_EXISTING является единственным вариантом, который должен поддерживаться этим методом.
Дополнительные опции могут поддерживаться в будущих выпусках.
Если возникает ошибка ввода-вывода из входного потока или запись в файл, он может сделать это после создания целевого файла и после того, как некоторые байты будут прочитаны или записаны.
Следовательно, входной поток может не находиться в конце потока и может находиться в несогласованном состоянии. Настоятельно рекомендуется, чтобы входной поток был быстро закрыт, если возникла ошибка ввода-вывода.
Этот метод может блокировать бесконечное чтение из входного потока (или записи в файл). Поведение для случая, когда входной поток асинхронно закрыт, или поток, прерванный во время копирования, является сильно входным потоком и поставщиком файловой системы, и поэтому не указан.
Пример использования: предположим, что мы хотим захватить веб-страницу и сохранить ее в файле:
File file = ...
URI u = URI.create ("http://java.sun.com/");
try (InputStream input = u.toURL().openStream ()) {
file.copy (input);
}
input - входной поток для чтенияcopts - параметры, указывающие, как должна выполняться копияpublic long copyTo(OutputStream out)
Если ошибка ввода-вывода происходит из-за чтения из файла или записи в выходной поток, он может это сделать после того, как некоторые байты были прочитаны или записаны.
Следовательно, выходной поток может находиться в несогласованном состоянии. Настоятельно рекомендуется, чтобы выходной поток был быстро закрыт, если произошла ошибка ввода-вывода.
Этот метод может блокировать бесконечную запись в выходной поток (или чтение из файла). Поведение для случая, когда выходной поток асинхронно закрыт, или поток, прерванный во время копирования, является высокопроизводительным потоком и поставщиком файловой системы, и поэтому не указан.
Обратите внимание, что если данный выходной поток Flushable, то его метод flush может потребоваться вызвать после завершения этого метода, чтобы сбросить любой буферный вывод.
out - выходной поток для записиpublic File copyTo(Path target, CopyOption... copts)
Этот метод копирует файл в целевой файл с параметром options, определяющим, как выполняется копирование. По умолчанию копия завершается с ошибкой, если целевой файл уже существует или является символической ссылкой, за исключением случаев, когда источник и цель являются одним и тем же файлом, и в этом случае метод завершается без копирования файла. Атрибуты файлов не требуются для копирования в целевой файл.
Если символические ссылки поддерживаются, а файл является символической ссылкой, то конечная цель ссылки копируется. Если файл является каталогом, он создает пустой каталог в целевом местоположении (записи в каталоге не копируются).
Этот метод можно использовать с методом walkFileTree, чтобы скопировать каталог и все записи в каталоге или полное дерево файлов, где это необходимо.
Параметр параметров может включать в себя любое из следующего:
Копирование файла не является атомной операцией. Если выбрано исключение IOException, возможно, что целевой файл является неполным или некоторые его атрибуты файла не были скопированы из исходного файла.
Когда задан параметр REPLACE_EXISTING и существует целевой файл, то целевой файл заменяется. Проверка наличия файла и создание нового файла может быть не атомарной в отношении других действий файловой системы.
Пример использования:
предположим, что мы хотим скопировать файл в каталог, указав ему то же имя файла, что и исходный файл:
File source = ...
File newdir = ...
source.copy(newdir.resolve(source.getFileName());
target - путь к файлу для копированияcopts - параметры, указывающие, как должна выполняться копияpublic File copyTo(File target, CopyOption... copts)
Этот метод копирует файл в целевой файл с параметром options, определяющим, как выполняется копирование. По умолчанию копия завершается с ошибкой, если целевой файл уже существует или является символической ссылкой, за исключением случаев, когда источник и цель являются одним и тем же файлом, и в этом случае метод завершается без копирования файла. Атрибуты файлов не требуются для копирования в целевой файл.
Если символические ссылки поддерживаются, а файл является символической ссылкой, то конечная цель ссылки копируется. Если файл является каталогом, он создает пустой каталог в целевом местоположении (записи в каталоге не копируются).
Этот метод можно использовать с методом walkFileTree, чтобы скопировать каталог и все записи в каталоге или полное дерево файлов, где это необходимо.
Параметр параметров может включать в себя любое из следующего:
Копирование файла не является атомной операцией. Если выбрано исключение IOException, возможно, что целевой файл является неполным или некоторые его атрибуты файла не были скопированы из исходного файла.
Когда задан параметр REPLACE_EXISTING и существует целевой файл, то целевой файл заменяется. Проверка наличия файла и создание нового файла может быть не атомарной в отношении других действий файловой системы.
Пример использования:
предположим, что мы хотим скопировать файл в каталог, указав ему то же имя файла, что и исходный файл:
File source = ...
File newdir = ...
source.copy(newdir.resolve(source.getFileName());
target - путь к файлу для копированияcopts - параметры, указывающие, как должна выполняться копияpublic String probeContentType()
Этот метод использует установленные реализации FileTypeDetector, чтобы исследовать данный файл, чтобы определить его тип содержимого.
Каждый тип FileTypeDetector.probeContentType детектора типа файла, в свою очередь, вызывается для поиска типа файла.
Если файл распознается, возвращается тип содержимого.
Если файл не распознается каким-либо из установленных детекторов типа файла,
то для угадывания типа содержимого вызывается детектор типа файла по умолчанию.
Данный вызов виртуальной машины Java поддерживает общесистемный список детекторов типов файлов. Установленные детекторы типов файлов загружаются с использованием средства загрузки поставщика услуг, определенного классом ServiceLoader.
Установленные детекторы типов файлов загружаются с помощью загрузчика системного класса.
Если загрузчик системного класса не найден, используется загрузчик класса расширения;
Если загрузчик класса расширения не найден, используется загрузчик класса загрузки.
Детекторы типа файла обычно устанавливаются путем размещения их в файле JAR в CLASSPATH приложения или в каталоге расширения, файл JAR содержит файл конфигурации поставщика с именем java.nio.file.spi.FileTypeDetector в каталоге ресурсов META-INF / services, а в файле перечислены одно или несколько полностью определенных имен конкретного подкласса FileTypeDetector, которые имеют конструктор нулевого аргумента.
Если процесс обнаружения или создания экземпляров установленных детекторов типов файлов не выполняется, генерируется неуказанная ошибка.
Порядок размещения установленных провайдеров является специфичным для реализации.
Возвращаемое значение этого метода представляет собой строковую форму значения типа содержимого многопользовательской интернет-почты (MIME), как определено RFC 2045: Многоцелевые расширения электронной почты Интернета (MIME).
Часть первая: формат интернет-сообщений. Строка гарантированно может быть проанализирована в соответствии с грамматикой в RFC.
public BufferedReader reader(Charset cs)
Байты из файла декодируются в символы с использованием указанной кодировки. Чтение начинается в начале файла.
Методы Reader, которые читают из файла, вызывают исключение IOException, если считывается некорректная или неуправляемая последовательность байтов.
cs - кодировкаpublic BufferedWriter writer(Charset cs)
Параметр options указывает, как файл создается или открывается. Если параметров нет, этот метод работает так, как если бы присутствовали опции CREATE, TRUNCATE_EXISTING и WRITE.
Другими словами, он открывает файл для записи, создавая файл, если он не существует, или изначально обрезает существующий обычный файл до размера 0, если он существует.
Методы Writer для записи текста IOException, если текст не может быть закодирован с использованием указанной кодировки.
cs - кодировкаpublic SeekableByteChannel channel(OpenOption... oopts)
Этот метод открывает или создает файл точно таким же образом, как метод newByteChannel.
oopts - параметры, определяющие способ открытия файлаpublic SeekableByteChannel channel(Set<? extends OpenOption> options, FileAttribute<?>... attrs)
Параметр options определяет способ открытия файла.
Опции READ и WRITE определяют, должен ли файл быть открыт для чтения и / или записи.
Если ни один из параметров (или параметр APPEND) не присутствует, файл открывается для чтения.
По умолчанию чтение или запись начинаются в начале файла.
В дополнение к READ и WRITE могут присутствовать следующие параметры:
В случае провайдера по умолчанию возвращаемый запрашиваемый байтовый канал является FileChannel.
Примеры использования:
File file = ...
// открыть файл для чтения
ReadableByteChannel rbc = file.channel (EnumSet.of(READ));
// открываем файл для записи в конец существующего файла, создавая
// файл, если он еще не существует
WritableByteChannel wbc = file.channel (EnumSet.of(CREATE, APPEND));
// создаем файл с начальными разрешениями, открывая его для чтения и записи
FileAttribute<SetPosixFilePermission> perms = ...
SeekableByteChannel sbc = file.channel (EnumSet.of(CREATE_NEW, READ, WRITE), perms);
options - Опции открытияattrs - необязательный список атрибутов файла для атомарного набора при создании файлаpublic byte[] readAllBytes()
Метод гарантирует, что файл закрыт, когда все байты были прочитаны или ошибка ввода-вывода или другое исключение среды выполнения.
Обратите внимание, что этот метод предназначен для простых случаев, когда удобно считать все байты в массив байтов.
Он не предназначен для чтения в больших файлах.
public File write(byte[] bytes, OpenOption... oopts)
Параметр options указывает, как файл создается или открывается.
Если параметров нет, этот метод работает так, как если бы присутствовали опции CREATE, TRUNCATE_EXISTING и WRITE.
Другими словами, он открывает файл для записи, создает файл, если он не существует, или изначально обрезает существующий обычный файл до размера 0.
Все байты в массиве байтов записываются в файл.
Метод гарантирует, что файл закрыт, когда все байты были записаны (или выбрана ошибка ввода-вывода или другое исключение во время выполнения).
Если возникает ошибка ввода-вывода, она может сделать это после того, как файл был создан или усечен, или после того, как некоторые байты были записаны в файл.
Пример использования: по умолчанию метод создает новый файл или перезаписывает существующий файл.
Предположим, вы вместо этого хотите добавить байты в существующий файл:
File file = ... byte [] bytes = ... file.write (bytes, StandardOpenOption.APPEND);
bytes - массив байтов с байтами для записиoopts - параметры, определяющие способ открытия файлаpublic List<String> readAllLines(Charset cs)
Этот метод гарантирует, что файл закрыт, когда все байты были прочитаны или ошибка ввода-вывода или другое исключение среды выполнения.
Байты из файла декодируются в символы с использованием указанной кодировки.
Этот метод распознает следующие термины:
Обратите внимание, что этот метод предназначен для простых случаев, когда удобно читать все строки за одну операцию.
Он не предназначен для чтения в больших файлах.
cs - Кодировкаpublic String readText(Charset cs)
Он не предназначен для чтения больших файлов.
cs - кодировка текстаpublic void writeText(String text, Charset cs)
text - текстcs - Кодировкаpublic File write(Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options)
Каждая строка представляет собой последовательность символов и записывается в файл последовательно с каждой строкой, завершаемой разделителем строк платформы, как определено системным свойством line.separator.
Символы кодируются в байты с использованием указанной кодировки.
Параметр options указывает, как файл создается или открывается. Если параметров нет, этот метод работает так, как если бы присутствовали опции CREATE, TRUNCATE_EXISTING и WRITE.
Другими словами, он открывает файл для записи, создает файл, если он не существует, или изначально обрезает существующий обычный файл до размера 0.
Метод гарантирует, что файл будет закрыт, когда все строки будут записаны ( или ошибка ввода-вывода или другое исключение среды выполнения).
Если возникает ошибка ввода-вывода, она может сделать это после того, как файл был создан или усечен, или после того, как некоторые байты были записаны в файл.
lines - строки текстаcs - Кодировкаoptions - ОпцииCopyright © 2018. All rights reserved.