gpt4 book ai didi

java nio 在符号链接(symbolic link)中迭代文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:08 24 4
gpt4 key购买 nike

我想遍历网络 UNC 路径中的文件,以便我可以对它们进行操作,这可能吗?

我正在尝试以下方式(请参阅下面的代码)并且它没有列出文件。

但是,使用 Windows 资源管理器我可以访问该文件夹,我可以查看、修改甚至删除它们。

// created with this command: mklink /D C:\Users\user\Desktop\repo \\serverIp\public\repo
File repo = new File("C:\\Users\\user\\Desktop\\repo"); // symlink

final Path dir = FileSystems.getDefault().getPath(repo.getCanonicalPath());

Files.walkFileTree(dir, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult preVisitDirectory(Path newDir, BasicFileAttributes attrs) throws IOException {
System.out.println(newDir.toAbsolutePath());
return FileVisitResult.CONTINUE;
}

@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
System.out.println(file.toAbsolutePath());
return FileVisitResult.CONTINUE;
}
});

我是否正确创建了符号链接(symbolic link)?

最佳答案

我认为你需要使用 FOLLOW_LINKS选项。

import static java.nio.file.FileVisitResult.*;
Files.walkFileTree(dir, EnumSet.of(FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<Path>() { ... ))

关于java nio 在符号链接(symbolic link)中迭代文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42158761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com