Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class Files extends Object
В большинстве случаев методы, определенные здесь, делегируют к связанному провайдеру файловой системы, чтобы выполнить операции файла.
Модификатор и Тип | Метод и Описание |
---|---|
static long |
copy(InputStream in, Path target, CopyOption... options)
Копии все байты от входного потока до файла.
|
static long |
copy(Path source, OutputStream out)
Копии все байты от файла до потока вывода.
|
static Path |
copy(Path source, Path target, CopyOption... options)
Скопируйте файл в конечный файл.
|
static Path |
createDirectories(Path dir, FileAttribute<?>... attrs)
Создает каталог, создавая все несуществующие родительские каталоги сначала.
|
static Path |
createDirectory(Path dir, FileAttribute<?>... attrs)
Создает новый каталог.
|
static Path |
createFile(Path path, FileAttribute<?>... attrs)
Создает новый и пустой файл, перестав работать, если файл уже существует.
|
static Path |
createLink(Path link, Path existing)
Создает новую ссылку (запись в каталоге) для существующего файла (дополнительная работа).
|
static Path |
createSymbolicLink(Path link, Path target, FileAttribute<?>... attrs)
Создает символьную ссылку на цель (дополнительная работа).
|
static Path |
createTempDirectory(Path dir, String prefix, FileAttribute<?>... attrs)
Создает новый каталог в указанном каталоге, используя данный префикс, чтобы генерировать его имя.
|
static Path |
createTempDirectory(String prefix, FileAttribute<?>... attrs)
Создает новый каталог в каталоге временного файла значения по умолчанию, используя данный префикс, чтобы генерировать его имя.
|
static Path |
createTempFile(Path dir, String prefix, String suffix, FileAttribute<?>... attrs)
Создает новый пустой файл в указанном каталоге, используя данный префикс и суффиксные строки, чтобы генерировать его имя.
|
static Path |
createTempFile(String prefix, String suffix, FileAttribute<?>... attrs)
Создает пустой файл в каталоге временного файла значения по умолчанию, используя данный префикс и суффикс, чтобы генерировать его имя.
|
static void |
delete(Path path)
Удаляет файл.
|
static boolean |
deleteIfExists(Path path)
Удаляет файл, если он существует.
|
static boolean |
exists(Path path, LinkOption... options)
Тесты, существует ли файл.
|
static Object |
getAttribute(Path path, String attribute, LinkOption... options)
Читает значение атрибута файла.
|
static <V extends FileAttributeView> |
getFileAttributeView(Path path, Class<V> type, LinkOption... options)
Возвращает представление атрибута файла данного типа.
|
static FileStore |
getFileStore(Path path)
Возвраты
FileStore представление хранилища файлов, где файл располагается. |
static FileTime |
getLastModifiedTime(Path path, LinkOption... options)
Возвращает прошлое измененное время файла.
|
static UserPrincipal |
getOwner(Path path, LinkOption... options)
Возвращает владельца файла.
|
static Set<PosixFilePermission> |
getPosixFilePermissions(Path path, LinkOption... options)
Возвращает полномочия файла POSIX файла.
|
static boolean |
isDirectory(Path path, LinkOption... options)
Тесты, является ли файл каталогом.
|
static boolean |
isExecutable(Path path)
Тесты, является ли файл исполнимой программой.
|
static boolean |
isHidden(Path path)
Говорит, считают ли файл скрытым.
|
static boolean |
isReadable(Path path)
Тесты, читаем ли файл.
|
static boolean |
isRegularFile(Path path, LinkOption... options)
Тесты, является ли файл регулярным файлом с непрозрачным контентом.
|
static boolean |
isSameFile(Path path, Path path2)
Тесты, если два пути определяют местоположение того же самого файла.
|
static boolean |
isSymbolicLink(Path path)
Тесты, является ли файл символьной ссылкой.
|
static boolean |
isWritable(Path path)
Тесты, перезаписываем ли файл.
|
static Path |
move(Path source, Path target, CopyOption... options)
Переместите или переименуйте файл к конечному файлу.
|
static BufferedReader |
newBufferedReader(Path path, Charset cs)
Открывает файл для того, чтобы читать, возвращаясь a
BufferedReader это может использоваться, чтобы считать текст из файла эффективным способом. |
static BufferedWriter |
newBufferedWriter(Path path, Charset cs, OpenOption... options)
Открывает или создает файл для того, чтобы записать, возвращаясь a
BufferedWriter это может использоваться, чтобы записать текст в файл эффективным способом. |
static SeekableByteChannel |
newByteChannel(Path path, OpenOption... options)
Открывает или создает файл, возвращая seekable канал байта, чтобы получить доступ к файлу.
|
static SeekableByteChannel |
newByteChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs)
Открывает или создает файл, возвращая seekable канал байта, чтобы получить доступ к файлу.
|
static DirectoryStream<Path> |
newDirectoryStream(Path dir)
Открывает каталог, возвращаясь a
DirectoryStream выполнить итерации по всем записям в каталоге. |
static DirectoryStream<Path> |
newDirectoryStream(Path dir, DirectoryStream.Filter<? super Path> filter)
Открывает каталог, возвращаясь a
DirectoryStream выполнить итерации по записям в каталоге. |
static DirectoryStream<Path> |
newDirectoryStream(Path dir, String glob)
Открывает каталог, возвращаясь a
DirectoryStream выполнить итерации по записям в каталоге. |
static InputStream |
newInputStream(Path path, OpenOption... options)
Открывает файл, возвращая входной поток, чтобы читать из файла.
|
static OutputStream |
newOutputStream(Path path, OpenOption... options)
Открывает или создает файл, возвращая поток вывода, который может использоваться, чтобы записать байты в файл.
|
static boolean |
notExists(Path path, LinkOption... options)
Тесты, не существует ли файл, расположенный этим путем.
|
static String |
probeContentType(Path path)
Зондирует тип контента файла.
|
static byte[] |
readAllBytes(Path path)
Считайте все байты из файла.
|
static List<String> |
readAllLines(Path path, Charset cs)
Считайте все строки из файла.
|
static <A extends BasicFileAttributes> |
readAttributes(Path path, Class<A> type, LinkOption... options)
Читает атрибуты файла как объемную работу.
|
static Map<String,Object> |
readAttributes(Path path, String attributes, LinkOption... options)
Чтения ряд атрибутов файла как объемная работа.
|
static Path |
readSymbolicLink(Path link)
Читает цель символьной ссылки (дополнительная работа).
|
static Path |
setAttribute(Path path, String attribute, Object value, LinkOption... options)
Устанавливает значение атрибута файла.
|
static Path |
setLastModifiedTime(Path path, FileTime time)
Обновляет последний измененный атрибут времени файла.
|
static Path |
setOwner(Path path, UserPrincipal owner)
Обновляет владельца файла.
|
static Path |
setPosixFilePermissions(Path path, Set<PosixFilePermission> perms)
Устанавливает полномочия POSIX файла.
|
static long |
size(Path path)
Возвращает размер файла (в байтах).
|
static Path |
walkFileTree(Path start, FileVisitor<? super Path> visitor)
Обходит дерево файла.
|
static Path |
walkFileTree(Path start, Set<FileVisitOption> options, int maxDepth, FileVisitor<? super Path> visitor)
Обходит дерево файла.
|
static Path |
write(Path path, byte[] bytes, OpenOption... options)
Байты записей к файлу.
|
static Path |
write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options)
Запишите строки текста к файлу.
|
public static InputStream newInputStream(Path path, OpenOption... options) throws IOException
mark
или reset
методы. Поток будет безопасен для доступа многократными параллельными потоками. Чтение начинается в начале файла. Является ли возвращенный поток асинхронно closeable, и/или прерывистая определенный провайдер очень файловой системы и поэтому не определенный. options
параметр определяет, как файл открывается. Если никакие опции не присутствуют тогда, это эквивалентно открытию файла с READ
опция. В дополнение к READ
опция, реализация может также поддерживать дополнительную реализацию определенные опции.
path
- путь к файлу, чтобы открытьсяoptions
- опции, определяющие, как файл открываетсяIllegalArgumentException
- если недопустимая комбинация опций определяетсяUnsupportedOperationException
- если неподдерживаемая опция определяетсяIOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к файлу.public static OutputStream newOutputStream(Path path, OpenOption... options) throws IOException
Этот метод открывает или создает файл точно способом, определенным newByteChannel
метод за исключением того, что READ
опция, возможно, не присутствует в массиве опций. Если никакие опции не присутствуют тогда, этот метод работает как будто CREATE
, TRUNCATE_EXISTING
, и WRITE
опции присутствуют. Другими словами это открывает файл для того, чтобы записать, создавая файл, если это не существует, или первоначально усечение существующего regular-file
к размеру 0
если это существует.
Примеры использования:
Path path = ... // truncate and overwrite an existing file, or create the file if // it doesn't initially exist OutputStream out = Files.newOutputStream(path); // append to an existing file, fail if the file does not exist out = Files.newOutputStream(path, APPEND); // append to an existing file, create file if it doesn't initially exist out = Files.newOutputStream(path, CREATE, APPEND); // always create new file, failing if it already exists out = Files.newOutputStream(path, CREATE_NEW);
path
- путь к файлу, чтобы открыться или создатьoptions
- опции, определяющие, как файл открываетсяIllegalArgumentException
- если options
содержит недопустимую комбинацию опцийUnsupportedOperationException
- если неподдерживаемая опция определяетсяIOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается, чтобы проверить доступ для записи к файлу. checkDelete
метод вызывается, чтобы проверить, удаляют доступ, если файл открывается с DELETE_ON_CLOSE
опция.public static SeekableByteChannel newByteChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException
options
параметр определяет, как файл открывается. READ
и WRITE
опции определяют, должен ли файл быть открыт для чтения и/или записи. Если никакая опция (или APPEND
опция), присутствует тогда, файл открывается для того, чтобы читать. Чтением значения по умолчанию или записью начинаются в начале файла.
В дополнении к READ
и WRITE
, следующие опции могут присутствовать:
Опция | Описание |
---|---|
APPEND |
Если эта опция присутствует тогда, файл открывается для записи и каждого вызова канала write метод первые усовершенствования позиция до конца файла и затем пишет запрошенные данные. Делаются ли продвижение позиции и запись данных в единственной атомарной работе, является системно-зависимым и поэтому неуказанным. Эта опция не может использоваться в соединении с READ или TRUNCATE_EXISTING опции. |
TRUNCATE_EXISTING |
Если эта опция присутствует тогда, существующий файл является усеченным к размеру 0 байтов. Эта опция игнорируется, когда файл открывается только для того, чтобы читать. |
CREATE_NEW |
Если эта опция присутствует тогда, новый файл создается, перестав работать, если файл уже существует или является символьной ссылкой. Создавая файл проверка на существование файла и создание файла, если это не существует, являются атомарными относительно других операций файловой системы. Эта опция игнорируется, когда файл открывается только для того, чтобы читать. |
CREATE |
Если эта опция присутствует тогда, существующий файл открывается, если это существует, иначе создается новый файл. Эта опция игнорируется если CREATE_NEW опция также присутствует, или файл открывается только для того, чтобы читать. |
DELETE_ON_CLOSE |
Когда эта опция присутствует тогда, реализация предпринимает попытку максимальных усилий удалить файл когда закрыто close метод. Если close метод не вызывается тогда, попытка максимальных усилий предпринимается, чтобы удалить файл, когда виртуальная машина Java завершается. |
SPARSE |
Создавая новый файл эта опция является подсказкой, что новый файл будет редок. Эта опция игнорируется, если не создавая новый файл. |
SYNC |
Требует, чтобы каждое обновление к контенту файла или метаданным было записано синхронно базовому устройству хранения. (см., Синхронизировал целостность файла ввода-вывода). |
DSYNC |
Требует, чтобы каждое обновление к контенту файла было записано синхронно базовому устройству хранения. (см., Синхронизировал целостность файла ввода-вывода). |
Реализация может также поддерживать дополнительную реализацию определенные опции.
attrs
параметр является дополнительным file-attributes
установить атомарно, когда новый файл создается.
В случае провайдера значения по умолчанию возвращенный seekable канал байта является a FileChannel
.
Примеры использования:
Path path = ...
// open file for reading
ReadableByteChannel rbc = Files.newByteChannel(path, EnumSet.of(READ)));
// open file for writing to the end of an existing file, creating
// the file if it doesn't already exist
WritableByteChannel wbc = Files.newByteChannel(path, EnumSet.of(CREATE,APPEND));
// create file with initial permissions, opening it for both reading and writing
FileAttribute<Set<PosixFilePermission>> perms = ...
SeekableByteChannel sbc = Files.newByteChannel(path, EnumSet.of(CREATE_NEW,READ,WRITE), perms);
path
- путь к файлу, чтобы открыться или создатьoptions
- опции, определяющие, как файл открываетсяattrs
- дополнительный список атрибутов файла, чтобы установить атомарно, создавая файлIllegalArgumentException
- если набор содержит недопустимую комбинацию опцийUnsupportedOperationException
- если неподдерживаемая открытая опция определяется, или массив содержит атрибуты, которые не могут быть установлены атомарно, создавая файлFileAlreadyExistsException
- если файл того имени уже существует и CREATE_NEW
опция определяется (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к пути, если файл открывается для того, чтобы читать. checkWrite
метод вызывается, чтобы проверить доступ для записи к пути, если файл открывается для того, чтобы записать. checkDelete
метод вызывается, чтобы проверить, удаляют доступ, если файл открывается с DELETE_ON_CLOSE
опция.FileChannel.open(Path,Set,FileAttribute[])
public static SeekableByteChannel newByteChannel(Path path, OpenOption... options) throws IOException
Этот метод открывает или создает файл точно способом, определенным newByteChannel
метод.
path
- путь к файлу, чтобы открыться или создатьoptions
- опции, определяющие, как файл открываетсяIllegalArgumentException
- если набор содержит недопустимую комбинацию опцийUnsupportedOperationException
- если неподдерживаемая открытая опция определяетсяFileAlreadyExistsException
- если файл того имени уже существует и CREATE_NEW
опция определяется (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к пути, если файл открывается для того, чтобы читать. checkWrite
метод вызывается, чтобы проверить доступ для записи к пути, если файл открывается для того, чтобы записать. checkDelete
метод вызывается, чтобы проверить, удаляют доступ, если файл открывается с DELETE_ON_CLOSE
опция.FileChannel.open(Path,OpenOption[])
public static DirectoryStream<Path> newDirectoryStream(Path dir) throws IOException
DirectoryStream
выполнить итерации по всем записям в каталоге. Элементы возвратились потоком каталога iterator
имеют тип Path
, каждое представление записи в каталоге. Path
объекты получаются как будто resolving
имя записи в каталоге против dir
. Если не используя конструкцию попытки с ресурсами, тогда поток каталога close
метод должен быть вызван после того, как итерация завершается, чтобы освободить любые ресурсы, сохраненные для открытого каталога.
Когда реализация поддерживает операции на записях в каталоге, которые выполняются способом без гонок тогда, возвращенный поток каталога является a SecureDirectoryStream
.
dir
- путь к каталогуDirectoryStream
объектNotDirectoryException
- если файл не мог бы иначе быть открыт, потому что это не каталог (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к каталогу.public static DirectoryStream<Path> newDirectoryStream(Path dir, String glob) throws IOException
DirectoryStream
выполнить итерации по записям в каталоге. Элементы возвратились потоком каталога iterator
имеют тип Path
, каждое представление записи в каталоге. Path
объекты получаются как будто resolving
имя записи в каталоге против dir
. Записи, возвращенные iterator, фильтруются, соответствуя String
представление их имен файлов против данного globbing образца. Например, предположите, что мы хотим выполнить итерации по файлам, заканчивающимся ".java" в каталоге:
Path dir = ... try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, "*.java")) { : }
globbing образец определяется getPathMatcher
метод.
Если не используя конструкцию попытки с ресурсами, тогда поток каталога close
метод должен быть вызван после того, как итерация завершается, чтобы освободить любые ресурсы, сохраненные для открытого каталога.
Когда реализация поддерживает операции на записях в каталоге, которые выполняются способом без гонок тогда, возвращенный поток каталога является a SecureDirectoryStream
.
dir
- путь к каталогуglob
- образец шарикаDirectoryStream
объектPatternSyntaxException
- если образец недопустимNotDirectoryException
- если файл не мог бы иначе быть открыт, потому что это не каталог (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к каталогу.public static DirectoryStream<Path> newDirectoryStream(Path dir, DirectoryStream.Filter<? super Path> filter) throws IOException
DirectoryStream
выполнить итерации по записям в каталоге. Элементы возвратились потоком каталога iterator
имеют тип Path
, каждое представление записи в каталоге. Path
объекты получаются как будто resolving
имя записи в каталоге против dir
. Записи, возвращенные iterator, фильтруются по данному filter
. Если не используя конструкцию попытки с ресурсами, тогда поток каталога close
метод должен быть вызван после того, как итерация завершается, чтобы освободить любые ресурсы, сохраненные для открытого каталога.
Где фильтр завершается из-за непойманной ошибки или исключения на этапе выполнения тогда, это распространяется к hasNext
или next
метод. Где IOException
бросается, это приводит к hasNext
или next
метод, бросающий a DirectoryIteratorException
с IOException
как причина.
Когда реализация поддерживает операции на записях в каталоге, которые выполняются способом без гонок тогда, возвращенный поток каталога является a SecureDirectoryStream
.
Пример использования: Предположите, что мы хотим выполнить итерации по файлам в каталоге, которые больше чем 8 K.
DirectoryStream.Filter<Path> filter = new DirectoryStream.Filter<Path>() { public boolean accept(Path file) throws IOException { return (Files.size(file) > 8192L); } }; Path dir = ... try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, filter)) { : }
dir
- путь к каталогуfilter
- потоковый фильтр каталогаDirectoryStream
объектNotDirectoryException
- если файл не мог бы иначе быть открыт, потому что это не каталог (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к каталогу.public static Path createFile(Path path, FileAttribute<?>... attrs) throws IOException
attrs
параметр является дополнительным file-attributes
установить атомарно, создавая файл. Каждый атрибут идентифицируется name
. Если больше чем один атрибут того же самого имени включается в массив тогда, все кроме последнего вхождения игнорируются.
path
- путь к файлу, чтобы создатьattrs
- дополнительный список атрибутов файла, чтобы установить атомарно, создавая файлUnsupportedOperationException
- если массив содержит атрибут, который не может быть установлен атомарно, создавая файлFileAlreadyExistsException
- если файл того имени уже существует (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходит, или родительский каталог не существуетSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается, чтобы проверить доступ для записи к новому файлу.public static Path createDirectory(Path dir, FileAttribute<?>... attrs) throws IOException
createDirectories
метод должен использоваться, где он обязан создавать все несуществующие родительские каталоги сначала. attrs
параметр является дополнительным file-attributes
установить атомарно, создавая каталог. Каждый атрибут идентифицируется name
. Если больше чем один атрибут того же самого имени включается в массив тогда, все кроме последнего вхождения игнорируются.
dir
- каталог, чтобы создатьattrs
- дополнительный список атрибутов файла, чтобы установить атомарно, создавая каталогUnsupportedOperationException
- если массив содержит атрибут, который не может быть установлен атомарно, создавая каталогFileAlreadyExistsException
- если каталог не мог бы иначе быть создан, потому что файл того имени уже существует (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходит, или родительский каталог не существуетSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается, чтобы проверить доступ для записи к новому каталогу.public static Path createDirectories(Path dir, FileAttribute<?>... attrs) throws IOException
createDirectory
метод, исключение не выдается, если каталог не мог бы быть создан, потому что это уже существует. attrs
параметр является дополнительным file-attributes
установить атомарно, создавая несуществующие каталоги. Каждый атрибут файла идентифицируется name
. Если больше чем один атрибут того же самого имени включается в массив тогда, все кроме последнего вхождения игнорируются.
Если этот метод перестал работать, то он может сделать так после создания некоторых, но не всех, родительских каталогов.
dir
- каталог, чтобы создатьattrs
- дополнительный список атрибутов файла, чтобы установить атомарно, создавая каталогUnsupportedOperationException
- если массив содержит атрибут, который не может быть установлен атомарно, создавая каталогFileAlreadyExistsException
- если dir
существует, но не каталог (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- в случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается до попытки создать каталог и checkRead
вызывается для каждого родительского каталога, который проверяется. Если dir
не абсолютный путь тогда toAbsolutePath
возможно, должен быть вызван, чтобы получить его абсолютный путь. Это может вызвать менеджера безопасности checkPropertyAccess
метод, чтобы проверить доступ к системному свойству user.dir
public static Path createTempFile(Path dir, String prefix, String suffix, FileAttribute<?>... attrs) throws IOException
Path
связывается с тем же самым FileSystem
как данный каталог. Детали относительно того, как имя файла создается, являются зависящими от реализации и поэтому не определенные. Где только возможно prefix
и suffix
используются, чтобы создать имена кандидата тем же самым способом как File.createTempFile(String,String,File)
метод.
Как с File.createTempFile
методы, этот метод является только частью средства временного файла. Где использующийся в качестве рабочие файлы, получающийся файл может быть открыт, используя DELETE_ON_CLOSE
опция так, чтобы файл был удален когда соответствующее close
метод вызывается. Альтернативно, a shutdown-hook
, или File.deleteOnExit()
механизм может использоваться, чтобы удалить файл автоматически.
attrs
параметр является дополнительным file-attributes
установить атомарно, создавая файл. Каждый атрибут идентифицируется name
. Если больше чем один атрибут того же самого имени включается в массив тогда, все кроме последнего вхождения игнорируются. Когда никакие атрибуты файла не определяются, тогда у получающегося файла могут быть более рестриктивные права доступа к файлам, создаваемым File.createTempFile(String,String,File)
метод.
dir
- путь к каталогу, в котором можно создать файлprefix
- префиксная строка, которая будет использоваться в генерировании имени файла; может быть null
suffix
- суффиксная строка, которая будет использоваться в генерировании имени файла; может быть null
, когда".tmp
"используетсяattrs
- дополнительный список атрибутов файла, чтобы установить атомарно, создавая файлIllegalArgumentException
- если префиксные или суффиксные параметры не могут использоваться, чтобы генерировать имя файла кандидатаUnsupportedOperationException
- если массив содержит атрибут, который не может быть установлен атомарно, создавая каталогIOException
- если ошибка ввода-вывода происходит или dir
не существуетSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается, чтобы проверить доступ для записи к файлу.public static Path createTempFile(String prefix, String suffix, FileAttribute<?>... attrs) throws IOException
Path
связывается со значением по умолчанию FileSystem
. Этот метод работает точно способом, определенным createTempFile(Path,String,String,FileAttribute[])
метод для случая, что dir
параметр является каталогом временного файла.
prefix
- префиксная строка, которая будет использоваться в генерировании имени файла; может быть null
suffix
- суффиксная строка, которая будет использоваться в генерировании имени файла; может быть null
, когда".tmp
"используетсяattrs
- дополнительный список атрибутов файла, чтобы установить атомарно, создавая файлIllegalArgumentException
- если префиксные или суффиксные параметры не могут использоваться, чтобы генерировать имя файла кандидатаUnsupportedOperationException
- если массив содержит атрибут, который не может быть установлен атомарно, создавая каталогIOException
- если ошибка ввода-вывода происходит, или каталог временного файла не существуетSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается, чтобы проверить доступ для записи к файлу.public static Path createTempDirectory(Path dir, String prefix, FileAttribute<?>... attrs) throws IOException
Path
связывается с тем же самым FileSystem
как данный каталог. Детали относительно того, как имя каталога создается, являются зависящими от реализации и поэтому не определенные. Где только возможно prefix
используется, чтобы создать имена кандидата.
Как с createTempFile
методы, этот метод является только частью средства временного файла. A shutdown-hook
, или File.deleteOnExit()
механизм может использоваться, чтобы удалить каталог автоматически.
attrs
параметр является дополнительным file-attributes
установить атомарно, создавая каталог. Каждый атрибут идентифицируется name
. Если больше чем один атрибут того же самого имени включается в массив тогда, все кроме последнего вхождения игнорируются.
dir
- путь к каталогу, в котором можно создать каталогprefix
- префиксная строка, которая будет использоваться в генерировании имени каталога; может быть null
attrs
- дополнительный список атрибутов файла, чтобы установить атомарно, создавая каталогIllegalArgumentException
- если префикс не может использоваться, чтобы генерировать имя каталога кандидатаUnsupportedOperationException
- если массив содержит атрибут, который не может быть установлен атомарно, создавая каталогIOException
- если ошибка ввода-вывода происходит или dir
не существуетSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается, чтобы проверить доступ для записи, создавая каталог.public static Path createTempDirectory(String prefix, FileAttribute<?>... attrs) throws IOException
Path
связывается со значением по умолчанию FileSystem
. Этот метод работает точно способом, определенным createTempDirectory(Path,String,FileAttribute[])
метод для случая, что dir
параметр является каталогом временного файла.
prefix
- префиксная строка, которая будет использоваться в генерировании имени каталога; может быть null
attrs
- дополнительный список атрибутов файла, чтобы установить атомарно, создавая каталогIllegalArgumentException
- если префикс не может использоваться, чтобы генерировать имя каталога кандидатаUnsupportedOperationException
- если массив содержит атрибут, который не может быть установлен атомарно, создавая каталогIOException
- если ошибка ввода-вывода происходит, или каталог временного файла не существуетSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается, чтобы проверить доступ для записи, создавая каталог.public static Path createSymbolicLink(Path link, Path target, FileAttribute<?>... attrs) throws IOException
target
параметр является целью ссылки. Это может быть absolute
или относительный путь и, возможно, не существует. Когда цель является относительным путем тогда, операции файловой системы на получающейся ссылке относительно пути ссылки.
attrs
параметр является дополнительным attributes
установить атомарно, создавая ссылку. Каждый атрибут идентифицируется name
. Если больше чем один атрибут того же самого имени включается в массив тогда, все кроме последнего вхождения игнорируются.
Где символьные ссылки поддерживаются, но базовое FileStore
не поддерживает символьные ссылки, тогда это может перестать работать с IOException
. Дополнительно, некоторые операционные системы могут потребовать, чтобы виртуальная машина Java была запущена с реализации определенные полномочия создать символьные ссылки, когда этот метод может бросить IOException
.
link
- путь символьной ссылки, чтобы создатьtarget
- цель символьной ссылкиattrs
- массив атрибутов, чтобы установить атомарно, создавая символьную ссылкуUnsupportedOperationException
- если реализация не поддерживает символьные ссылки, или массив содержит атрибут, который не может быть установлен атомарно, создавая символьную ссылкуFileAlreadyExistsException
- если файл с именем уже существует (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, он отрицает LinkPermission
("symbolic") или checkWrite
метод отрицает доступ для записи к пути символьной ссылки.public static Path createLink(Path link, Path existing) throws IOException
link
параметр определяет местоположение записи в каталоге, чтобы создать. existing
параметр является путем к существующему файлу. Этот метод создает новую запись в каталоге для файла так, чтобы к этому можно было получить доступ, используя link
как путь. На некоторых файловых системах это известно как создание "жесткой ссылки". Сохраняются ли атрибуты файла для файла, или для каждой записи в каталоге определенная файловая система и поэтому не определенный. Как правило, файловая система требует, чтобы все ссылки (записи в каталоге) для файла были на той же самой файловой системе. Кроме того, на некоторых платформах, виртуальная машина Java может потребовать, чтобы быть запущенной с реализации определенные полномочия создать жесткие ссылки или создать ссылки к каталогам.
link
- ссылка (запись в каталоге), чтобы создатьexisting
- путь к существующему файлуUnsupportedOperationException
- если реализация не поддерживает добавление существующего файла к каталогуFileAlreadyExistsException
- если запись не могла бы иначе быть создана, потому что файл того имени уже существует (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, он отрицает LinkPermission
("hard") или checkWrite
метод отрицает доступ для записи или к ссылке или к существующему файлу.public static void delete(Path path) throws IOException
Реализация может потребовать, чтобы исследовать файл, чтобы определить, является ли файл каталогом. Следовательно этот метод, возможно, не является атомарным относительно других операций файловой системы. Если файл является символьной ссылкой тогда, символьная ссылка непосредственно, не заключительная цель ссылки, удаляется.
Если файл является каталогом тогда, каталог должен быть пустым. В некоторых реализациях у каталога есть записи для специальных файлов или ссылок, которые создаются, когда каталог создается. В таких реализациях каталог считают пустым, когда только специальные записи существуют. Этот метод может использоваться с walkFileTree
метод, чтобы удалить каталог и все записи в каталоге, или все дерево файла где требующийся.
На некоторых операционных системах, возможно, не возможно удалить файл, когда это открыто и в использовании этой виртуальной машиной Java или другими программами.
path
- путь к файлу, чтобы удалитьNoSuchFileException
- если файл не существует (дополнительное определенное исключение)DirectoryNotEmptyException
- если файл является каталогом и не мог бы иначе быть удален, потому что каталог не пуст (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, SecurityManager.checkDelete(String)
метод вызывается, чтобы проверить, удаляют доступ к файлуpublic static boolean deleteIfExists(Path path) throws IOException
Как с delete(Path)
метод, реализация, возможно, должна исследовать файл, чтобы определить, является ли файл каталогом. Следовательно этот метод, возможно, не является атомарным относительно других операций файловой системы. Если файл является символьной ссылкой, то символьная ссылка непосредственно, не заключительная цель ссылки, удаляется.
Если файл является каталогом тогда, каталог должен быть пустым. В некоторых реализациях у каталога есть записи для специальных файлов или ссылок, которые создаются, когда каталог создается. В таких реализациях каталог считают пустым, когда только специальные записи существуют.
На некоторых операционных системах, возможно, не возможно удалить файл, когда это открыто и в использовании этой виртуальной машиной Java или другими программами.
path
- путь к файлу, чтобы удалитьtrue
если файл был удален этим методом; false
если файл не мог бы быть удален, потому что он не существовалDirectoryNotEmptyException
- если файл является каталогом и не мог бы иначе быть удален, потому что каталог не пуст (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, SecurityManager.checkDelete(String)
метод вызывается, чтобы проверить, удаляют доступ к файлу.public static Path copy(Path source, Path target, CopyOption... options) throws IOException
Этот метод копирует файл в конечный файл с options
параметр, определяющий, как копия выполняется. По умолчанию, сбои копии, если конечный файл уже существует или является символьной ссылкой, кроме того, если источник и цель same
файл, когда метод завершается, не копируя файл. Атрибуты файла не обязаны быть скопированными в конечный файл. Если символьные ссылки поддерживаются, и файл является символьной ссылкой, то заключительная цель ссылки копируется. Если файл является каталогом тогда, он создает пустой каталог в целевом расположении (записи в каталоге не копируются). Этот метод может использоваться с walkFileTree
метод, чтобы скопировать каталог и все записи в каталоге, или все дерево файла где требующийся.
options
параметр может включать любое следующее:
Опция | Описание |
---|---|
REPLACE_EXISTING |
Если конечный файл существует, то конечный файл заменяется, если это не непустой каталог. Если конечный файл существует и является символьной ссылкой, то символьная ссылка непосредственно, не цель ссылки, заменяется. |
COPY_ATTRIBUTES |
Попытки скопировать атрибуты файла, связанные с этим файлом с конечным файлом. Точные атрибуты файла, которые копируются, являются платформой и зависимой файловой системой и поэтому неуказанный. Минимально, last-modified-time копируется в конечный файл если поддерживающийся обоими исходные и целевые хранилища файлов. Копирование меток времени файла может привести к потере точности. |
NOFOLLOW_LINKS |
Символьные ссылки не сопровождаются. Если файл является символьной ссылкой, то символьная ссылка непосредственно, не цель ссылки, копируется. Это - реализация, определенная, если атрибуты файла могут быть скопированы в новую ссылку. Другими словами, COPY_ATTRIBUTES опция может быть проигнорирована, копируя символьную ссылку. |
Реализация этого интерфейса может поддерживать дополнительную реализацию определенные опции.
Копирование файла не является атомарной работой. Если IOException
бросается, тогда возможно, что конечный файл является неполным, или некоторые из его атрибутов файла не были скопированы с исходного файла. Когда REPLACE_EXISTING
опция определяется, и конечный файл существует, тогда конечный файл заменяется. Проверка на существование файла и создание нового файла, возможно, не являются атомарными относительно других действий файловой системы.
Пример использования: Предположите, что мы хотим скопировать файл в каталог, давая это то же самое имя файла как исходный файл:
Path source = ... Path newdir = ... Files.copy(source, newdir.resolve(source.getFileName());
source
- путь к файлу, чтобы скопироватьtarget
- путь к конечному файлу (может быть связан с различным провайдером с исходным путем),options
- опции, определяющие, как копия должна быть сделанаUnsupportedOperationException
- если массив содержит опцию копии, которая не поддерживаетсяFileAlreadyExistsException
- если конечный файл существует, но не может быть заменен потому что REPLACE_EXISTING
опция не определяется (дополнительное определенное исключение)DirectoryNotEmptyException
- REPLACE_EXISTING
опция определяется, но файл не может быть заменен, потому что это - непустой каталог (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к исходному файлу, checkWrite
вызывается, чтобы проверить доступ для записи к конечному файлу. Если символьная ссылка копируется, менеджер безопасности вызывается, чтобы проверить LinkPermission
("symbolic")
.public static Path move(Path source, Path target, CopyOption... options) throws IOException
По умолчанию этот метод пытается переместить файл в конечный файл, перестав работать, если конечный файл существует кроме того, если источник и цель same
файл, когда этот метод не имеет никакого эффекта. Если файл является символьной ссылкой тогда, символьная ссылка непосредственно, не цель ссылки, перемещается. Этот метод может быть вызван, чтобы переместить пустой каталог. В некоторых реализациях у каталога есть записи для специальных файлов или ссылок, которые создаются, когда каталог создается. В таких реализациях каталог считают пустым, когда только специальные записи существуют. Когда вызвано, чтобы переместить каталог, который не пуст тогда, каталог перемещается, если он не требует перемещения записей в каталоге. Например, переименовывая каталог на том же самом FileStore
не будет обычно требовать перемещения записей в каталоге. Когда перемещение каталога требует, чтобы его записи были перемещены тогда этот метод сбои (бросая IOException
). Перемещать дерево файла может включить копирование вместо движущихся каталогов, и это может быть сделано, используя copy
метод в соединении с Files.walkFileTree
служебный метод.
options
параметр может включать любое следующее:
Опция | Описание |
---|---|
REPLACE_EXISTING |
Если конечный файл существует, то конечный файл заменяется, если это не непустой каталог. Если конечный файл существует и является символьной ссылкой, то символьная ссылка непосредственно, не цель ссылки, заменяется. |
ATOMIC_MOVE |
Перемещение выполняется как атомарная работа файловой системы, и все другие опции игнорируются. Если конечный файл существует тогда, это - реализация, определенная, если существующий файл заменяется или этот метод сбои, бросая IOException . Если перемещение не может быть выполнено как атомарная работа файловой системы тогда AtomicMoveNotSupportedException бросается. Это может возникнуть, например, когда целевое расположение находится на различном FileStore и потребовал бы, чтобы файл был скопирован, или предназначался для расположения, связывается с различным провайдером с этим объектом. |
Реализация этого интерфейса может поддерживать дополнительную реализацию определенные опции.
Перемещение файла скопирует last-modified-time
к конечному файлу если поддерживающийся обоими исходными и целевыми хранилищами файлов. Копирование меток времени файла может привести к потере точности. Реализация может также попытаться скопировать другие атрибуты файла, но не обязана перестать работать, если атрибуты файла не могут быть скопированы. Когда перемещение выполняется как неатомарная работа, и IOException
бросается, тогда состояние файлов не определяется. Исходный файл и конечный файл могут оба существовать, конечный файл может быть неполным, или некоторые из его атрибутов файла не могут скопированный с исходного файла.
Примеры использования: Предположите, что мы хотим переименовать файл к "newname", сохраняя файл в том же самом каталоге:
Path source = ... Files.move(source, source.resolveSibling("newname"));Альтернативно, предположите, что мы хотим переместить файл в новый каталог, сохраняя то же самое имя файла, и заменяя любой существующий файл того имени в каталоге:
Path source = ... Path newdir = ... Files.move(source, newdir.resolve(source.getFileName()), REPLACE_EXISTING);
source
- путь к файлу, чтобы переместитьсяtarget
- путь к конечному файлу (может быть связан с различным провайдером с исходным путем),options
- опции, определяющие, как перемещение должно быть сделаноUnsupportedOperationException
- если массив содержит опцию копии, которая не поддерживаетсяFileAlreadyExistsException
- если конечный файл существует, но не может быть заменен потому что REPLACE_EXISTING
опция не определяется (дополнительное определенное исключение)DirectoryNotEmptyException
- REPLACE_EXISTING
опция определяется, но файл не может быть заменен, потому что это - непустой каталог (дополнительное определенное исключение)AtomicMoveNotSupportedException
- если массив опций содержит ATOMIC_MOVE
опция, но файл не может быть перемещена как атомарная работа файловой системы.IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается, чтобы проверить доступ для записи к обоим исходный и целевой файл.public static Path readSymbolicLink(Path link) throws IOException
Если файловая система поддерживает символьные ссылки тогда, этот метод используется, чтобы считать цель ссылки, перестав работать, если файл не является символьной ссылкой. Цель ссылки не должна существовать. Возвращенный Path
объект будет связан с той же самой файловой системой как link
.
link
- путь к символьной ссылкеPath
объект, представляющий цель ссылкиUnsupportedOperationException
- если реализация не поддерживает символьные ссылкиNotLinkException
- если цель не могла бы иначе быть считана, потому что файл не является символьной ссылкой (дополнительное определенное исключение)IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, он проверяет это FilePermission
был предоставлен с"readlink
"действие, чтобы считать ссылку.public static FileStore getFileStore(Path path) throws IOException
FileStore
представление хранилища файлов, где файл располагается. Однажды ссылка на FileStore
получается это - реализация, определенная если операции на возвращенном FileStore
, или FileStoreAttributeView
объекты, полученные из этого, продолжайте зависеть от существования файла. В особенности поведение не определяется для случая, что файл удаляется или перемещается в различное хранилище файлов.
path
- путь к файлуIOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к файлу, и кроме того это проверяет RuntimePermission
("getFileStoreAttributes")public static boolean isSameFile(Path path, Path path2) throws IOException
Если оба Path
объекты equal
тогда этот метод возвраты true
не проверяя, существует ли файл. Если два Path
объекты связываются с различными провайдерами тогда этот метод возвраты false
. Иначе, этот метод проверяет если оба Path
объекты определяют местоположение того же самого файла, и в зависимости от реализации, могут потребовать, чтобы открыть или получить доступ к обоим файлам.
Если файловая система и файлы остаются статичными, то этот метод реализует отношение эквивалентности для ненуля Paths
.
Path
f
, isSameFile(f,f)
должен возвратиться true
. Paths
f
и g
, isSameFile(f,g)
будет равняться isSameFile(g,f)
. Paths
f
, g
, и h
, если isSameFile(f,g)
возвраты true
и isSameFile(g,h)
возвраты true
, тогда isSameFile(f,h)
возвратит возврат true
. path
- один путь к файлуpath2
- другой путьtrue
если, и только если, эти два пути определяют местоположение того же самого файлаIOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к обоим файлам.BasicFileAttributes.fileKey()
public static boolean isHidden(Path path) throws IOException
hidden
атрибут устанавливается. В зависимости от реализации этот метод может потребовать, чтобы получить доступ к файловой системе, чтобы определить, считают ли файл скрытым.
path
- путь к файлу, чтобы протестироватьtrue
если файл считают скрытымIOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к файлу.public static String probeContentType(Path path) throws IOException
Этот метод использует установленный FileTypeDetector
реализации, чтобы зондировать данный файл, чтобы определить его тип контента. Каждый детектор типа файла probeContentType
вызывается, поочередно, чтобы зондировать тип файла. Если файл распознается тогда, тип контента возвращается. Если файл не распознается ни одним из установленных детекторов типа файла тогда, детектор типа файла системного значения по умолчанию вызывается, чтобы предположить тип контента.
Данный вызов виртуальной машины Java поддерживает список в масштабе всей системы детекторов типа файла. Установленные детекторы типа файла загружаются, используя средство загрузки поставщика услуг, определенное ServiceLoader
class. Установленные детекторы типа файла загружаются, используя систему загрузчик class. Если система, загрузчик class не может быть сочтен тогда расширением загрузчиком class, используется; Если расширение, загрузчик class не может быть сочтен тогда начальной загрузкой загрузчиком class, используется. Детекторы типа файла обычно устанавливаются, размещая их в файле JAR на приложении путь class или в каталоге расширения, файл JAR содержит названный конфигурационный файл провайдера java.nio.file.spi.FileTypeDetector
в каталоге ресурса META-INF/services
, и списки файлов один или более полностью определенные имена конкретного подкласса FileTypeDetector
у этого есть нулевой конструктор параметра. Если процесс определения местоположения или инстанцирования установленных детекторов типа файла перестал работать тогда, неустановленная ошибка бросается. Упорядочивание, которое устанавливало провайдеров, располагается, определенная реализация.
Возвращаемое значение этого метода является строковой формой значения Многоцелевого интернет-Почтового Расширения (MIME) тип контента как определено
path
- путь к файлу, чтобы зондироватьnull
если тип контента не может быть определенIOException
- если ошибка ввода-вывода происходитSecurityException
- Если менеджер безопасности устанавливается, и он отрицает неуказанное разрешение, требуемое реализацией детектора типа файла.public static <V extends FileAttributeView> V getFileAttributeView(Path path, Class<V> type, LinkOption... options)
Представление атрибута файла обеспечивает или обновляемое представление только для чтения ряда атрибутов файла. Этот метод предназначается, чтобы использоваться, где представление атрибута файла определяет безопасные с точки зрения типов методы, чтобы считать или обновить атрибуты файла. type
параметр является типом требуемого представления атрибута, и метод возвращает экземпляр того типа если поддерживающийся. BasicFileAttributeView
тип поддерживает доступ к основным атрибутам файла. Вызов этого метода, чтобы выбрать представление атрибута файла того типа будет всегда возвращать экземпляр того class.
options
массив может использоваться, чтобы указать, как символьные ссылки обрабатываются получающимся представлением атрибута файла для случая, что файл является символьной ссылкой. По умолчанию символьные ссылки сопровождаются. Если опция NOFOLLOW_LINKS
присутствует тогда, символьные ссылки не сопровождаются. Эта опция игнорируется реализациями, которые не поддерживают символьные ссылки.
Пример использования: Предположите, что мы хотим чтение или устанавливаем ACL файла, если поддерживающийся:
Path path = ... AclFileAttributeView view = Files.getFileAttributeView(path, AclFileAttributeView.class); if (view != null) { List<AclEntry> acl = view.getAcl(); : }
path
- путь к файлуtype
- Class
объект, соответствующий представлению атрибута файлаoptions
- опции, указывающие, как обрабатываются символьные ссылкиnull
если тип представления атрибута не доступенpublic static <A extends BasicFileAttributes> A readAttributes(Path path, Class<A> type, LinkOption... options) throws IOException
type
параметр является типом требуемых атрибутов, и этот метод возвращает экземпляр того типа если поддерживающийся. Все реализации поддерживают основной набор атрибутов файла и таким образом вызывая этот метод с a type
параметр BasicFileAttributes.class
не будет бросать UnsupportedOperationException
.
options
массив может использоваться, чтобы указать, как символьные ссылки обрабатываются для случая, что файл является символьной ссылкой. По умолчанию символьные ссылки сопровождаются, и атрибут файла заключительной цели ссылки читается. Если опция NOFOLLOW_LINKS
присутствует тогда, символьные ссылки не сопровождаются.
Это - реализация, определенная, если все атрибуты файла читаются как атомарная работа относительно других операций файловой системы.
Пример использования: Предположите, что мы хотим считать атрибуты файла оптом:
Path path = ... BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class);Альтернативно, предположите, что мы хотим считать атрибуты POSIX файла без следующих символьных ссылок:
PosixFileAttributes attrs = Files.readAttributes(path, PosixFileAttributes.class, NOFOLLOW_LINKS);
path
- путь к файлуtype
- Class
из атрибутов файла, требуемых читатьoptions
- опции, указывающие, как обрабатываются символьные ссылкиUnsupportedOperationException
- если атрибуты данного типа не поддерживаютсяIOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию менеджер безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к файлу. Если этот метод вызывается, чтобы считать безопасность чувствительные атрибуты тогда, менеджер безопасности может быть, вызывают, чтобы проверить на дополнительные полномочия.public static Path setAttribute(Path path, String attribute, Object value, LinkOption... options) throws IOException
attribute
параметр идентифицирует атрибут, который будет установлен, и принимает форму:
[имя представления:] название атрибутагде квадратные скобки [...] формируют рисунок дополнительный компонент и символ
':'
стенды для себя. имя представления name
из a FileAttributeView
это идентифицирует ряд атрибутов файла. Если не определенный тогда это принимает значение по умолчанию к "basic"
, имя представления атрибута файла, которое идентифицирует основной набор атрибутов файла, характерных для многих файловых систем. название атрибута является именем атрибута в пределах набора.
options
массив может использоваться, чтобы указать, как символьные ссылки обрабатываются для случая, что файл является символьной ссылкой. По умолчанию символьные ссылки сопровождаются, и атрибут файла заключительной цели ссылки устанавливается. Если опция NOFOLLOW_LINKS
присутствует тогда, символьные ссылки не сопровождаются.
Пример использования: Предположите, что мы хотим установить DOS "скрытый" атрибут:
Path path = ... Files.setAttribute(path, "dos:hidden", true);
path
- путь к файлуattribute
- атрибут, чтобы установитьvalue
- значение атрибутаoptions
- опции, указывающие, как обрабатываются символьные ссылкиpath
параметрUnsupportedOperationException
- если представление атрибута не доступноIllegalArgumentException
- если название атрибута не определяется, или не распознается, или значение атрибута имеет корректный тип, но имеет несоответствующее значениеClassCastException
- если значение атрибута не имеет ожидаемого типа или является набором, содержащим элементы, которые не имеют ожидаемого типаIOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод отрицает доступ для записи к файлу. Если этот метод вызывается, чтобы установить безопасность чувствительные атрибуты тогда, менеджер безопасности может быть вызван, чтобы проверить на дополнительные полномочия.public static Object getAttribute(Path path, String attribute, LinkOption... options) throws IOException
attribute
параметр идентифицирует атрибут, который будет считан, и принимает форму:
[имя представления:] название атрибутагде квадратные скобки [...] формируют рисунок дополнительный компонент и символ
':'
стенды для себя. имя представления name
из a FileAttributeView
это идентифицирует ряд атрибутов файла. Если не определенный тогда это принимает значение по умолчанию к "basic"
, имя представления атрибута файла, которое идентифицирует основной набор атрибутов файла, характерных для многих файловых систем. название атрибута является именем атрибута.
options
массив может использоваться, чтобы указать, как символьные ссылки обрабатываются для случая, что файл является символьной ссылкой. По умолчанию символьные ссылки сопровождаются, и атрибут файла заключительной цели ссылки читается. Если опция NOFOLLOW_LINKS
присутствует тогда, символьные ссылки не сопровождаются.
Пример использования: Предположите, что мы требуем идентификатора пользователя владельца файла на системе, которая поддерживает"unix
"представление:
Path path = ... int uid = (Integer)Files.getAttribute(path, "unix:uid");
path
- путь к файлуattribute
- атрибут, чтобы читатьoptions
- опции, указывающие, как обрабатываются символьные ссылкиUnsupportedOperationException
- если представление атрибута не доступноIllegalArgumentException
- если название атрибута не определяется или не распознаетсяIOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод отрицает доступ для чтения к файлу. Если этот метод вызывается, чтобы считать безопасность чувствительные атрибуты тогда, менеджер безопасности может быть вызван, чтобы проверить на дополнительные полномочия.public static Map<String,Object> readAttributes(Path path, String attributes, LinkOption... options) throws IOException
attributes
параметр идентифицирует атрибуты, которые будут считаны, и принимает форму:
[имя представления:] список атрибутовгде квадратные скобки [...] формируют рисунок дополнительный компонент и символ
':'
стенды для себя. имя представления name
из a FileAttributeView
это идентифицирует ряд атрибутов файла. Если не определенный тогда это принимает значение по умолчанию к "basic"
, имя представления атрибута файла, которое идентифицирует основной набор атрибутов файла, характерных для многих файловых систем.
Компонент списка атрибутов является списком разделенных запятой значений нуля или большим количеством имен атрибутов, чтобы читать. Если список содержит значение "*"
тогда все атрибуты читаются. Атрибуты, которые не поддерживаются, игнорируются и не будут присутствовать в возвращенной карте. Это - реализация, определенная, если все атрибуты читаются как атомарная работа относительно других операций файловой системы.
Следующие примеры демонстрируют возможные значения для attributes
параметр:
"*"
Считайте все basic-file-attributes
."size,lastModifiedTime,lastAccessTime"
Читает размер файла, в прошлый измененный раз, и последние атрибуты времени доступа. "posix:*"
Считайте все POSIX-file-attributes
."posix:permissions,owner,size"
Читает полномочия файла POSX, владельца, и размер файла.
options
массив может использоваться, чтобы указать, как символьные ссылки обрабатываются для случая, что файл является символьной ссылкой. По умолчанию символьные ссылки сопровождаются, и атрибут файла заключительной цели ссылки читается. Если опция NOFOLLOW_LINKS
присутствует тогда, символьные ссылки не сопровождаются.
path
- путь к файлуattributes
- атрибуты, чтобы читатьoptions
- опции, указывающие, как обрабатываются символьные ссылкиUnsupportedOperationException
- если представление атрибута не доступноIllegalArgumentException
- если никакие атрибуты не определяются или определяются, нераспознанные атрибутыIOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод отрицает доступ для чтения к файлу. Если этот метод вызывается, чтобы считать безопасность чувствительные атрибуты тогда, менеджер безопасности может быть, вызывают, чтобы проверить на дополнительные полномочия.public static Set<PosixFilePermission> getPosixFilePermissions(Path path, LinkOption... options) throws IOException
path
параметр связывается с a FileSystem
это поддерживает PosixFileAttributeView
. Это представление атрибута обеспечивает доступ к атрибутам файла, обычно связываемым с файлами на файловых системах, используемых операционными системами, которые реализуют Интерфейс Переносимой информационной системы (POSIX) семейство стандартов.
options
массив может использоваться, чтобы указать, как символьные ссылки обрабатываются для случая, что файл является символьной ссылкой. По умолчанию символьные ссылки сопровождаются, и атрибут файла заключительной цели ссылки читается. Если опция NOFOLLOW_LINKS
присутствует тогда, символьные ссылки не сопровождаются.
path
- путь к файлуoptions
- опции, указывающие, как обрабатываются символьные ссылкиUnsupportedOperationException
- если связанная файловая система не поддерживает PosixFileAttributeView
IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию устанавливается менеджер безопасности, и это отрицает RuntimePermission
("accessUserInformation") или checkRead
метод отрицает доступ для чтения к файлу.public static Path setPosixFilePermissions(Path path, Set<PosixFilePermission> perms) throws IOException
path
параметр связывается с a FileSystem
это поддерживает PosixFileAttributeView
. Это представление атрибута обеспечивает доступ к атрибутам файла, обычно связываемым с файлами на файловых системах, используемых операционными системами, которые реализуют Интерфейс Переносимой информационной системы (POSIX) семейство стандартов.
path
- Регистрационный номер, который определяет местоположение файлаperms
- Новый набор полномочийUnsupportedOperationException
- если связанная файловая система не поддерживает PosixFileAttributeView
ClassCastException
- если наборы содержат элементы, которые не имеют типа PosixFilePermission
IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, он отрицает RuntimePermission
("accessUserInformation") или checkWrite
метод отрицает доступ для записи к файлу.public static UserPrincipal getOwner(Path path, LinkOption... options) throws IOException
path
параметр связывается с файловой системой, которая поддерживает FileOwnerAttributeView
. Это представление атрибута файла обеспечивает доступ к атрибуту файла, который является владельцем файла.
path
- Регистрационный номер, который определяет местоположение файлаoptions
- опции, указывающие, как обрабатываются символьные ссылкиUnsupportedOperationException
- если связанная файловая система не поддерживает FileOwnerAttributeView
IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, он отрицает RuntimePermission
("accessUserInformation") или checkRead
метод отрицает доступ для чтения к файлу.public static Path setOwner(Path path, UserPrincipal owner) throws IOException
path
параметр связывается с файловой системой, которая поддерживает FileOwnerAttributeView
. Это представление атрибута файла обеспечивает доступ к атрибуту файла, который является владельцем файла.
Пример использования: Предположите, что мы хотим сделать "joe" владельцем файла:
Path path = ... UserPrincipalLookupService lookupService = provider(path).getUserPrincipalLookupService(); UserPrincipal joe = lookupService.lookupPrincipalByName("joe"); Files.setOwner(path, joe);
path
- Регистрационный номер, который определяет местоположение файлаowner
- Новый владелец файлаUnsupportedOperationException
- если связанная файловая система не поддерживает FileOwnerAttributeView
IOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, он отрицает RuntimePermission
("accessUserInformation") или checkWrite
метод отрицает доступ для записи к файлу.FileSystem.getUserPrincipalLookupService()
, UserPrincipalLookupService
public static boolean isSymbolicLink(Path path)
Где требуемое отличать исключение ввода-вывода из случая, что файл не является символьной ссылкой тогда, атрибуты файла могут быть считаны с readAttributes
метод и тип файла, протестированный с BasicFileAttributes.isSymbolicLink()
метод.
true
если файл является символьной ссылкой; false
если файл не существует, не символьная ссылка, или он не может быть определен, если файл является символьной ссылкой или нет.SecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод отрицает доступ для чтения к файлу.public static boolean isDirectory(Path path, LinkOption... options)
options
массив может использоваться, чтобы указать, как символьные ссылки обрабатываются для случая, что файл является символьной ссылкой. По умолчанию символьные ссылки сопровождаются, и атрибут файла заключительной цели ссылки читается. Если опция NOFOLLOW_LINKS
присутствует тогда, символьные ссылки не сопровождаются.
Где требуемое отличать исключение ввода-вывода из случая, что файл не является каталогом тогда, атрибуты файла могут быть считаны с readAttributes
метод и тип файла, протестированный с BasicFileAttributes.isDirectory()
метод.
path
- путь к файлу, чтобы протестироватьoptions
- опции, указывающие, как обрабатываются символьные ссылкиtrue
если файл является каталогом; false
если файл не существует, не каталог, или он не может быть определен, если файл является каталогом или нет.SecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод отрицает доступ для чтения к файлу.public static boolean isRegularFile(Path path, LinkOption... options)
options
массив может использоваться, чтобы указать, как символьные ссылки обрабатываются для случая, что файл является символьной ссылкой. По умолчанию символьные ссылки сопровождаются, и атрибут файла заключительной цели ссылки читается. Если опция NOFOLLOW_LINKS
присутствует тогда, символьные ссылки не сопровождаются.
Где требуемое отличать исключение ввода-вывода из случая, что файл не является регулярным файлом тогда, атрибуты файла могут быть считаны с readAttributes
метод и тип файла, протестированный с BasicFileAttributes.isRegularFile()
метод.
path
- путь к файлуoptions
- опции, указывающие, как обрабатываются символьные ссылкиtrue
если файл является регулярным файлом; false
если файл не существует, не регулярный файл, или он не может быть определен, если файл является регулярным файлом или нет.SecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод отрицает доступ для чтения к файлу.public static FileTime getLastModifiedTime(Path path, LinkOption... options) throws IOException
options
массив может использоваться, чтобы указать, как символьные ссылки обрабатываются для случая, что файл является символьной ссылкой. По умолчанию символьные ссылки сопровождаются, и атрибут файла заключительной цели ссылки читается. Если опция NOFOLLOW_LINKS
присутствует тогда, символьные ссылки не сопровождаются.
path
- путь к файлуoptions
- опции, указывающие, как обрабатываются символьные ссылкиFileTime
представление времени, файл был последний измененный, или реализация определенное значение по умолчанию, когда метка времени, чтобы указать время последнего изменения не поддерживается файловой системойIOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод отрицает доступ для чтения к файлу.BasicFileAttributes.lastModifiedTime()
public static Path setLastModifiedTime(Path path, FileTime time) throws IOException
IOException
. Пример использования: Предположите, что мы хотим установить в прошлый измененный раз в текущее время:
Path path = ... FileTime now = FileTime.fromMillis(System.currentTimeMillis()); Files.setLastModifiedTime(path, now);
path
- путь к файлуtime
- новое прошлое измененное времяIOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, менеджер безопасности checkWrite
метод вызывается, чтобы проверить доступ для записи к файлуBasicFileAttributeView.setTimes(java.nio.file.attribute.FileTime, java.nio.file.attribute.FileTime, java.nio.file.attribute.FileTime)
public static long size(Path path) throws IOException
regular
файлы являются определенной реализацией и поэтому неуказанный.path
- путь к файлуIOException
- если ошибка ввода-вывода происходитSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод отрицает доступ для чтения к файлу.BasicFileAttributes.size()
public static boolean exists(Path path, LinkOption... options)
options
параметр может использоваться, чтобы указать, как символьные ссылки обрабатываются для случая, что файл является символьной ссылкой. По умолчанию символьные ссылки сопровождаются. Если опция NOFOLLOW_LINKS
присутствует тогда, символьные ссылки не сопровождаются.
Отметьте, что результат этого метода является сразу устаревшим. Если этот метод указывает, что файл существует тогда нет никакой гарантии, что доступ подпоследовательности успешно выполнится. Забота должна быть проявлена при использовании этого метода в безопасности чувствительные приложения.
path
- путь к файлу, чтобы протестироватьoptions
- опции, указывающие, как обрабатываются символьные ссылки.true
если файл существует; false
если файл не существует, или его существование не может быть определено.SecurityException
- В случае провайдера значения по умолчанию, SecurityManager.checkRead(String)
вызывается, чтобы проверить доступ для чтения к файлу.notExists(java.nio.file.Path, java.nio.file.LinkOption...)
public static boolean notExists(Path path, LinkOption... options)
options
параметр может использоваться, чтобы указать, как символьные ссылки обрабатываются для случая, что файл является символьной ссылкой. По умолчанию символьные ссылки сопровождаются. Если опция NOFOLLOW_LINKS
присутствует тогда, символьные ссылки не сопровождаются.
Отметьте, что этот метод не является дополнением exists
метод. Где не возможно определить, существует ли файл или не тогда оба возврата методов false
. Как с exists
метод, результат этого метода является сразу устаревшим. Если этот метод указывает, что файл действительно существует тогда нет никакой гарантии, что попытка подпоследовательности создать файл успешно выполнится. Забота должна быть проявлена при использовании этого метода в безопасности чувствительные приложения.
path
- путь к файлу, чтобы протестироватьoptions
- опции, указывающие, как обрабатываются символьные ссылкиtrue
если файл не существует; false
если файл существует, или его существование не может быть определеноSecurityException
- В случае провайдера значения по умолчанию, SecurityManager.checkRead(String)
вызывается, чтобы проверить доступ для чтения к файлу.public static boolean isReadable(Path path)
Отметьте, что результат этого метода является сразу устаревшим, нет никакой гарантии, что последующая попытка открыть файл для того, чтобы читать успешно выполнится (или даже что это получит доступ к тому же самому файлу). Забота должна быть проявлена при использовании этого метода в безопасности чувствительные приложения.
path
- путь к файлу, чтобы проверитьtrue
если файл существует и читаем; false
если бы файл не существует, доступ для чтения отрицался бы, потому что у виртуальной машины Java есть недостаточные полномочия, или доступ не может быть определенSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
вызывается, чтобы проверить доступ для чтения к файлу.public static boolean isWritable(Path path)
Отметьте, что результат этого метода является сразу устаревшим, нет никакой гарантии, что последующая попытка открыть файл для того, чтобы записать успешно выполнится (или даже что это получит доступ к тому же самому файлу). Забота должна быть проявлена при использовании этого метода в безопасности чувствительные приложения.
path
- путь к файлу, чтобы проверитьtrue
если файл существует и перезаписываем; false
если бы файл не существует, доступ для записи отрицался бы, потому что у виртуальной машины Java есть недостаточные полномочия, или доступ не может быть определенSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
вызывается, чтобы проверить доступ для записи к файлу.public static boolean isExecutable(Path path)
execute
файл. Семантика может отличаться, проверяя доступ к каталогу. Например, на системах UNIX, проверяющих на доступ на выполнение, проверяет, что у виртуальной машины Java есть разрешение, чтобы искать каталог, чтобы получить доступ к файлу или подкаталогам. В зависимости от реализации этот метод может потребовать, чтобы считать полномочия файла, списки управления доступом, или другие атрибуты файла, чтобы проверить эффективный доступ к файлу. Следовательно, этот метод, возможно, не является атомарным относительно других операций файловой системы.
Отметьте, что результат этого метода является сразу устаревшим, нет никакой гарантии, что последующая попытка выполнить файл успешно выполнится (или даже что это получит доступ к тому же самому файлу). Забота должна быть проявлена при использовании этого метода в безопасности чувствительные приложения.
path
- путь к файлу, чтобы проверитьtrue
если файл существует и является исполнимой программой; false
если бы файл не существует, доступ на выполнение отрицался бы, потому что у виртуальной машины Java есть недостаточные полномочия, или доступ не может быть определенSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkExec
вызывается, чтобы проверить доступ на выполнение к файлу.public static Path walkFileTree(Path start, Set<FileVisitOption> options, int maxDepth, FileVisitor<? super Path> visitor) throws IOException
Этот метод идет, дерево файла базировалось в данном запускающемся файле. Обход дерева файла в глубину с данным FileVisitor
вызванный для каждого файла встречался. Обход дерева файла завершается, когда все доступные файлы в дереве посетили, или метод посещения возвращает результат TERMINATE
. Где метод посещения завершается должный IOException
, непойманная ошибка, или исключение на этапе выполнения, тогда обход завершается и ошибка, или исключение распространяется к вызывающей стороне этого метода.
Для каждого файла, с которым встречаются, этот метод пытается считать BasicFileAttributes
. Если файл не является каталогом тогда visitFile
метод вызывается с атрибутами файла. Если атрибуты файла не могут быть считаны, не из-за исключения ввода-вывода, то visitFileFailed
метод вызывается с исключением ввода-вывода.
Где файл является каталогом, и каталог не мог быть открыт, тогда visitFileFailed
метод вызывается с исключением ввода-вывода, после которого, обход дерева файла продолжается, по умолчанию, при следующем одноуровневом элементе каталога.
Где каталог открывается успешно, тогда записи в каталоге, и их потомков посещают. Когда все записи посетили, или ошибка ввода-вывода происходит во время итерации каталога, тогда каталог закрывается и посетитель postVisitDirectory
метод вызывается. Обход дерева файла тогда продолжается, по умолчанию, при следующем одноуровневом элементе каталога.
По умолчанию символьные ссылки автоматически не сопровождаются этим методом. Если options
параметр содержит FOLLOW_LINKS
опция тогда символьные ссылки сопровождается. Когда ссылки, и атрибуты цели не могут быть считаны, тогда этот метод пытается добраться BasicFileAttributes
из ссылки. Если они могут быть считаны тогда visitFile
метод вызывается с атрибутами ссылки (иначе visitFileFailed
метод вызывается как определено выше).
Если options
параметр содержит FOLLOW_LINKS
опция тогда этот метод отслеживает каталоги, которые посещают так, чтобы циклы могли быть обнаружены. Цикл возникает, когда есть запись в каталоге, который является предком каталога. Обнаружение цикла делается, записывая file-key
из каталогов, или если ключи файла не доступны, вызывая isSameFile
метод, чтобы протестировать, если каталог является тем же самым файлом как предок. Когда цикл обнаруживается, он обрабатывается как ошибка ввода-вывода, и visitFileFailed
метод вызывается с экземпляром FileSystemLoopException
.
maxDepth
параметр является максимальным количеством уровней каталогов, чтобы посетить. Значение 0
средства, что только запускающийся файл посещают, если не отрицающийся менеджером безопасности. Значение MAX_VALUE
может использоваться, чтобы указать, что все уровни нужно посетить. visitFile
метод вызывается для всех файлов, включая каталоги, в которых встречаются maxDepth
, если основные атрибуты файла не могут быть считаны, когда visitFileFailed
метод вызывается.
Если посетитель возвращает результат null
тогда NullPointerException
бросается.
Когда менеджер безопасности устанавливается, и он лишает доступа к файлу (или каталог), тогда он игнорируется, и посетитель не вызывается для того файла (или каталог).
start
- запускающийся файлoptions
- опции, чтобы сконфигурировать обходmaxDepth
- максимальное количество уровней каталога, чтобы посетитьvisitor
- посетитель файла, чтобы вызвать для каждого файлаIllegalArgumentException
- если maxDepth
параметр отрицателенSecurityException
- Если менеджер безопасности лишает доступа к запускающемуся файлу. В случае провайдера значения по умолчанию, checkRead
метод вызывается, чтобы проверить доступ для чтения к каталогу.IOException
- если ошибка ввода-вывода бросается методом посетителяpublic static Path walkFileTree(Path start, FileVisitor<? super Path> visitor) throws IOException
Этот метод работает, как будто вызов его был эквивалентен оценке выражения:
Другими словами это не следует за символьными ссылками, и посещает все уровни дерева файла.walkFileTree(start, EnumSet.noneOf(FileVisitOption.class), Integer.MAX_VALUE, visitor)
start
- запускающийся файлvisitor
- посетитель файла, чтобы вызвать для каждого файлаSecurityException
- Если менеджер безопасности лишает доступа к запускающемуся файлу. В случае провайдера значения по умолчанию, checkRead
метод вызывается, чтобы проверить доступ для чтения к каталогу.IOException
- если ошибка ввода-вывода бросается методом посетителяpublic static BufferedReader newBufferedReader(Path path, Charset cs) throws IOException
BufferedReader
это может использоваться, чтобы считать текст из файла эффективным способом. Байты от файла декодируются в символы, используя указанный набор символов. Чтение начинается в начале файла. Reader
методы, которые читают из броска файла IOException
если уродливая или неотображаемая последовательность байта читается.
path
- путь к файлуcs
- набор символов, чтобы использовать для того, чтобы декодироватьIOException
- если ошибка ввода-вывода происходит, открывая файлSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к файлу.readAllLines(java.nio.file.Path, java.nio.charset.Charset)
public static BufferedWriter newBufferedWriter(Path path, Charset cs, OpenOption... options) throws IOException
BufferedWriter
это может использоваться, чтобы записать текст в файл эффективным способом. options
параметр определяет, как файл создается или открывается. Если никакие опции не присутствуют тогда, этот метод работает как будто CREATE
, TRUNCATE_EXISTING
, и WRITE
опции присутствуют. Другими словами это открывает файл для того, чтобы записать, создавая файл, если это не существует, или первоначально усечение существующего regular-file
к размеру 0
если это существует. Writer
методы, чтобы записать текстовый бросок IOException
если текст не может быть закодирован, используя указанный набор символов.
path
- путь к файлуcs
- набор символов, чтобы использовать для того, чтобы закодироватьoptions
- опции, определяющие, как файл открываетсяIOException
- если ошибка ввода-вывода происходит, открываясь или создавая файлUnsupportedOperationException
- если неподдерживаемая опция определяетсяSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается, чтобы проверить доступ для записи к файлу.write(Path,Iterable,Charset,OpenOption[])
public static long copy(InputStream in, Path target, CopyOption... options) throws IOException
По умолчанию, сбои копии, если конечный файл уже существует или является символьной ссылкой. Если REPLACE_EXISTING
опция определяется, и конечный файл уже существует, тогда это заменяется, если это не непустой каталог. Если конечный файл существует и является символьной ссылкой, то символьная ссылка заменяется. В этом выпуске, REPLACE_EXISTING
опция является единственной опцией, требуемой поддерживаться этим методом. Дополнительные опции могут поддерживаться в будущих выпусках.
Если ошибка ввода-вывода происходит, читая из входного потока или пишущий в файл, то это может сделать так после того, как конечный файл был создан и после того, как некоторые байты были считаны или записаны. Следовательно входной поток, возможно, не в конце потока и может быть в непоследовательном состоянии. Строго рекомендуется, чтобы входной поток был быстро закрыт, если ошибка ввода-вывода происходит.
Этот метод может блокировать неопределенно читение из входного потока (или запись в файл). Поведение для случая, что входной поток асинхронно закрывается или поток, прерванный во время копии, является чрезвычайно входным потоком и определенным провайдером файловой системы и поэтому не определенное.
Пример использования: Предположите, что мы хотим получить веб-страницу и сохранить ее к файлу:
Path path = ... URI u = URI.create("http://java.sun.com/"); try (InputStream in = u.toURL().openStream()) { Files.copy(in, path); }
in
- входной поток, чтобы читать изtarget
- путь к файлуoptions
- опции, определяющие, как копия должна быть сделанаIOException
- если ошибка ввода-вывода происходит, читая или при записиFileAlreadyExistsException
- если конечный файл существует, но не может быть заменен потому что REPLACE_EXISTING
опция не определяется (дополнительное определенное исключение)DirectoryNotEmptyException
- REPLACE_EXISTING
опция определяется, но файл не может быть заменен, потому что это - непустой каталог (дополнительное определенное исключение) *UnsupportedOperationException
- если options
содержит опцию копии, которая не поддерживаетсяSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается, чтобы проверить доступ для записи к файлу. Где REPLACE_EXISTING
опция определяется, менеджер безопасности checkDelete
метод вызывается, чтобы проверить, что может быть удален существующий файл.public static long copy(Path source, OutputStream out) throws IOException
Если ошибка ввода-вывода происходит, читая из файла или пишущий в поток вывода, то это может сделать так после того, как некоторые байты были считаны или записаны. Следовательно поток вывода может быть в непоследовательном состоянии. Строго рекомендуется, чтобы поток вывода был быстро закрыт, если ошибка ввода-вывода происходит.
Этот метод может блокировать неопределенно писание в поток вывода (или чтение из файла). Поведение для случая, что поток вывода асинхронно закрывается или поток, прерванный во время копии, является определенным провайдером очень потока вывода и файловой системы и поэтому не определенное.
Отметьте это, если данный поток вывода Flushable
тогда flush
методу, возможно, понадобится к вызванному после того, как этот метод завершается, чтобы сбросить любой буферизованный вывод.
source
- путь к файлуout
- поток вывода, чтобы записать вIOException
- если ошибка ввода-вывода происходит, читая или при записиSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к файлу.public static byte[] readAllBytes(Path path) throws IOException
Отметьте, что этот метод предназначается для простых случаев, где удобно считать все байты в байтовый массив. Это не предназначается для того, чтобы читать в больших файлах.
path
- путь к файлуIOException
- если ошибка ввода-вывода происходит, читая из потокаOutOfMemoryError
- если массив необходимого размера не может быть выделен, например файл больше это 2GB
SecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к файлу.public static List<String> readAllLines(Path path, Charset cs) throws IOException
Этот метод распознает следующий как разделители строки:
\u000D
сопровождаемый \u000A
, ВОЗВРАТ КАРЕТКИ, сопровождаемый С МЕТОДИЧЕСКОЙ ТОЧНОСТЬЮ, ПИТАЕТСЯ \u000A
, ПЕРЕВОД СТРОКИ \u000D
, ВОЗВРАТ КАРЕТКИ Дополнительные разделители строки Unicode могут быть распознаны в будущих выпусках.
Отметьте, что этот метод предназначается для простых случаев, где удобно считать все строки в единственной работе. Это не предназначается для того, чтобы читать в больших файлах.
path
- путь к файлуcs
- набор символов, чтобы использовать для того, чтобы декодироватьList
; ли List
является поддающимся изменению или не является зависящим от реализации и поэтому не определенныйIOException
- если ошибка ввода-вывода происходит, читая из файла, или уродливая или неотображаемая последовательность байта читаетсяSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkRead
метод вызывается, чтобы проверить доступ для чтения к файлу.newBufferedReader(java.nio.file.Path, java.nio.charset.Charset)
public static Path write(Path path, byte[] bytes, OpenOption... options) throws IOException
options
параметр определяет, как файл создается или открывается. Если никакие опции не присутствуют тогда, этот метод работает как будто CREATE
, TRUNCATE_EXISTING
, и WRITE
опции присутствуют. Другими словами это открывает файл для того, чтобы записать, создавая файл, если это не существует, или первоначально усечение существующего regular-file
к размеру 0
. Все байты в байтовом массиве пишутся файлу. Метод гарантирует, что файл закрывается, когда все байты были записаны (или ошибка ввода-вывода, или другое исключение на этапе выполнения бросается). Если ошибка ввода-вывода происходит тогда, она может сделать так после того, как файл создал или усеченный, или после того, как некоторые байты были записаны файлу. Пример использования: По умолчанию метод создает новый файл или перезаписывает существующий файл. Предположите, что Вы вместо этого хотите добавить байты к существующему файлу:
Path path = ... byte[] bytes = ... Files.write(path, bytes, StandardOpenOption.APPEND);
path
- путь к файлуbytes
- байтовый массив с байтами, чтобы записатьoptions
- опции, определяющие, как файл открываетсяIOException
- если ошибка ввода-вывода происходит, пишущий в или создавая файлUnsupportedOperationException
- если неподдерживаемая опция определяетсяSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается, чтобы проверить доступ для записи к файлу.public static Path write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options) throws IOException
line.separator
. Символы кодируются в байты, используя указанный набор символов. options
параметр определяет, как файл создается или открывается. Если никакие опции не присутствуют тогда, этот метод работает как будто CREATE
, TRUNCATE_EXISTING
, и WRITE
опции присутствуют. Другими словами это открывает файл для того, чтобы записать, создавая файл, если это не существует, или первоначально усечение существующего regular-file
к размеру 0
. Метод гарантирует, что файл закрывается, когда все строки были записаны (или ошибка ввода-вывода, или другое исключение на этапе выполнения бросается). Если ошибка ввода-вывода происходит тогда, она может сделать так после того, как файл создал или усеченный, или после того, как некоторые байты были записаны файлу.
path
- путь к файлуlines
- объект выполнить итерации по последовательностям случайной работыcs
- набор символов, чтобы использовать для того, чтобы закодироватьoptions
- опции, определяющие, как файл открываетсяIOException
- если ошибка ввода-вывода происходит, пишущий в или создавая файл, или текст не может быть закодирован, используя указанный набор символовUnsupportedOperationException
- если неподдерживаемая опция определяетсяSecurityException
- В случае провайдера значения по умолчанию, и менеджера безопасности устанавливается, checkWrite
метод вызывается, чтобы проверить доступ для записи к файлу.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92