我正在尝试使用 JDK 7 (java.nio.file) 中的 FileWalkTree()方法。为了实现我自己的 FileVisitor,我通过扩展SimpleFileVisitor创建了一个CustomFileVIsitor类。
在这个CustomFileVIsitor类中....我重写了函数visitFile
public FileVisitResult visitFile(Path file, BasicFileAttributes fileStats)
throws IOException {
System.out.println("\t\tChecking Symbolic Link " + Files.isSymbolicLink(file));
System.out.println("\t\tChecking Symbolic Link " + fileStats.isSymbolicLink());
System.out.println("\t\tFile Size " + Files.size(file));
System.out.println("\t\tFile Size " + fileStats.size());
//Rest of the code
}
现在,为了测试这段代码,我创建了一个文件夹,然后向它添加了一个文件和一个符号链接(到文件)。
当我使用 FileWalkTree 执行类时,由 Files.isSymbolicLink(file) 和 fileStats.isSymbolicLink() 为符号链接生成的输出不同
输出如下所示:
Checking Symbolic Link true
Checking Symbolic Link false
File Size 38
File Size 38
为什么会这样?这是一个错误还是我在解释信息时遗漏了什么?