Из этого Java Tutorial here:запрос об удалении символические ссылки с Files.walkFileTree
Удаление файла или каталога
Вы можете удалить файлы, каталоги и ссылки. С символическими ссылками ссылка удаляется, а не цель ссылки. В каталогах каталог должен быть пустым, или удаление не выполняется.
С другой стороны от here:
Вы должны решить, хотите ли вы символические ссылки, которые будут следовать. Если вы удаляете файлы, например, следующие символические ссылки могут быть нецелесообразным. Если вы копируете дерево файлов, вы можете захотеть сделать это . По умолчанию walkFileTree не следует за символическими ссылками.
Говорят, во второй цитате, If you are deleting files, for example, following symbolic links might not be advisable
Однако в первой цитаты говорится ясно, что: You can delete files, directories or links. With symbolic links, the link is deleted and not the target of the link.
Если это будет удалить только ссылку, а не цель, поэтому не мешало бы следующие ссылки при удалении при использовании Files.walkFileTree
?
Заранее спасибо.
Хорошо, но Files.delete (путь) удаляет только ссылку, а не цель. То, что вы говорите, имеет смысл только в том случае, если «путь», пройденный к visitFile, будет уже ссылкой, разрешенной в цель. Это так? если да, где я могу найти некоторые документы, которые упоминают об этом? – Rollerball
Нет, проблема не в удалении '/ etc/home/Rollerball/opt/link2bin'. Проблема в том, что вы удаляете рекурсивно и следуете ссылке, вы начнете перемещение '/ bin' и удаление там файлов. Как только он будет удален, вы удалите ссылку (сначала удалите файлы, содержащиеся в каталоге, а затем сам каталог). – SJuan76
Спасибо, теперь яснее, до тех пор, пока есть ссылки в папке перед началом деления файлов, если FOLLOW_LINKS включен, он сначала будет следовать всем ссылкам правильно? – Rollerball