Симлинк с Files.createSymbolicLink (Java 7) в RHEL 5
Я хочу создать символическую ссылку в RHEL 5, используя Java. В java6 createSymbolicLink есть только два параметра. Но в случае Java7 FileAttribute был включен вместе с параметрами, то есть всего три параметра.
публичный статический путь createSymbolicLink(путь ссылки, Целевой путь, FileAttribute... attrs) бросает IOException Создает символическую ссылку на цель (необязательная операция). Параметр target является целью ссылки. Это может быть абсолютный или относительный путь и может не существовать. Если целью является относительный путь, то операции файловой системы с полученной ссылкой относятся к пути ссылки. Параметр attrs является необязательным атрибутом, устанавливаемым атомарно при создании ссылки. Каждый атрибут идентифицируется по его имени. Если в массив включено более одного атрибута с одним и тем же именем, то все, кроме последнего, игнорируются. Если символические ссылки поддерживаются, но базовый FileStore не поддерживает символические ссылки, это может привести к ошибке IOException. Кроме того, некоторые операционные системы могут требовать, чтобы виртуальная машина Java запускалась с особыми правами реализации для создания символических ссылок, и в этом случае этот метод может вызвать IOException. Параметры: ссылка - путь к символической ссылке для создания target - цель символической ссылки attrs - массив атрибутов, устанавливаемых атомарно при создании символической ссылки
Я не мог понять, что я должен дать там в качестве третьего параметра. Все, что мне нужно сделать, это создать символическую ссылку.
Проблема в том, что я не знаю, что я должен дать в третьем параметре, а также я не имею большого представления о FileAttribute
интерфейс. Пожалуйста помоги.
Для Downvoters, пожалуйста, прокомментируйте причину понижения.
1 ответ
Источник и цель - это пути, а не имена файлов. измените свой код на:
Files.createSymbolicLink(Paths.get(sourceFileName), Paths.get(targetFileName));