Spec-Zone .ru
спецификации, руководства, описания, API
|
Можно скопировать файл или каталог при использовании copy(Path, Path, CopyOption...)
метод. Копия перестала работать, если конечный файл не существует, если REPLACE_EXISTING
опция определяется.
Каталоги могут быть скопированы. Однако, файлы в каталоге не копируются, таким образом, новый каталог пуст, даже когда исходный каталог содержит файлы.
Копируя символьную ссылку, цель ссылки копируется. Если Вы хотите скопировать ссылку непосредственно, а не содержание ссылки, определите любого NOFOLLOW_LINKS
или REPLACE_EXISTING
опция.
Этот метод берет varargs параметр. Следующий StandardCopyOption
и LinkOption
перечисления поддерживаются:
REPLACE_EXISTING
– Выполняет копию, даже когда конечный файл уже существует. Если цель является символьной ссылкой, сама ссылка копируется (а не цель ссылки). Если цель является непустым каталогом, сбоями копии с FileAlreadyExistsException
исключение.COPY_ATTRIBUTES
– Копирует атрибуты файла, связанные с файлом с конечным файлом. Точные поддерживаемые атрибуты файла являются файловой системой и зависимой платформой, но last-modified-time
поддерживается через платформы и копируется в конечный файл.NOFOLLOW_LINKS
– Указывает, что символьные ссылки не должны сопровождаться. Если файл, который будет скопирован, является символьной ссылкой, ссылка копируется (а не цель ссылки).Если Вы не знакомы с enums
, см.
Следующие шоу, как использовать copy
метод:
import static java.nio.file.StandardCopyOption.*; ... Files.copy(source, target, REPLACE_EXISTING);
В дополнение к копии файла, Files
class также определяет методы, которые могут использоваться, чтобы скопировать между файлом и потоком. copy(InputStream, Path, CopyOptions...)
метод может использоваться, чтобы скопировать все байты от входного потока до файла. copy(Path, OutputStream)
пример использует Copy
copy
и Files.walkFileTree
методы, чтобы поддерживать рекурсивную копию. См. Обход Дерева Файла для получения дополнительной информации.