У меня есть SymbolicLink, указывающий на его родительский каталог, да, это странно, но я пытался понять FileSystemLoopException, я уже сделал это.Но возникает другая проблема.
У меня есть следующий код.
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public final class FileLoopSystemException{
private final Path target = Paths.get("C:\\Users\\Documents\\SymbolicLinks\\Folder\\SubDirectorio\\SymbolicApuntandoADirectorioLink.txt");
public static void main(String[] args)throws Exception{
final FileLoopSystemException clazz = new FileLoopSystemException();
clazz.walk();
}
private void walk()throws Exception{
System.out.println("Exist: "+Files.exists(target));//false
System.out.println("Directory: "+Files.isDirectory(target));//true
System.out.println("Symbolic: "+Files.isSymbolicLink(target));//true
System.out.println("RegularFile: "+Files.isRegularFile(target));//false
final long count = Files.walk(target,java.nio.file.FileVisitOption.FOLLOW_LINKS)
.peek(a->System.out.println(Files.isSymbolicLink(a)+" "+a))
.count();
System.out.println("count = " + count);
}
}
Но выбрасывает
Exception in thread "main" java.nio.file.NotDirectoryException: C:\Users\Documents\SymbolicLinks\Folder\SubDirectorio\SymbolicApuntandoADirectorioLink.txt
Я использую опцию FollowLink, но я не знаю, даже когдацель состоит в том, чтобы следовать, что является каталогом, почему Files.walk говорит, что это не каталог, если я не передам опцию FOLLOW_LINK печатается сам файл, который в порядке, потому что не следует.
В резюме, почему Files.walk не можетпересекает мою цель, которая является каталогом и является следующим ??
API говорит:
Checked exception thrown when a file system operation, intended for a directory, fails because the file is not a directory.
Но это каталог, и он следует только потому, что если бы он рассматривал его как обычный файл, он бывместо этого выведите имя файла, ссылка будет следующей, и каталог установлен, но Java не распознает его как РЕГУЛЯРНЫЙ каталог?
Моя файловая система похожа на
C:\Users\Documents\SymbolicLinks\Folder\SubDirectorio
....SymbolicApuntandoADirectorioLink.txt -->SymbolicLink pointing to parent directory SubDirectorio