2
我想遍歷網絡UNC路徑中的文件,以便可以對它們進行操作,這有可能嗎?java nio在符號鏈接中迭代文件
我想以下面的方式(見下面的代碼),它沒有列出文件。
但是,使用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;
}
});
我是否正確創建了符號鏈接?
不起作用如果在根目錄是符號鏈接...也許它會工作,如果我把在另一個文件夾,然後作爲一個子文件夾到根文件夾將遵循符號鏈接,但我需要的不是這樣 –
@EmrahMehmedov你能檢查一下你的鏈接是否存在嗎?類似於'Files.isSymbolicLink(Paths.get())'和'Files.exists(Paths.get(..))' –
對我來說它是一個符號鏈接的根目錄。 – viniciussss