日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java visitor_java11教程--接口FileVisitor用法

發布時間:2024/7/23 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java visitor_java11教程--接口FileVisitor用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件的訪問者。

該接口的實現被提供給Files.walkFileTree方法以訪問文件樹中的每個文件。

用法示例:假設我們要刪除文件樹。 在這種情況下,刪除目錄中的條目后,應刪除每個目錄。

Path start = ...

Files.walkFileTree(start, new SimpleFileVisitor() {

@Override

public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)

throws IOException

{

Files.delete(file);

return FileVisitResult.CONTINUE;

}

@Override

public FileVisitResult postVisitDirectory(Path dir, IOException e)

throws IOException

{

if (e == null) {

Files.delete(dir);

return FileVisitResult.CONTINUE;

} else {

// directory iteration failed

throw e;

}

}

});

此外,假設我們要將文件樹復制到目標位置。 在這種情況下,應遵循符號鏈接,并且應在復制目錄中的條目之前創建目標目錄。

final Path source = ...

final Path target = ...

Files.walkFileTree(source, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE,

new SimpleFileVisitor() {

@Override

public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs)

throws IOException

{

Path targetdir = target.resolve(source.relativize(dir));

try {

Files.copy(dir, targetdir);

} catch (FileAlreadyExistsException e) {

if (!Files.isDirectory(targetdir))

throw e;

}

return CONTINUE;

}

@Override

public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)

throws IOException

{

Files.copy(file, target.resolve(source.relativize(file)));

return CONTINUE;

}

});

在目錄中的條目及其所有后代訪問后,為目錄調用。

在訪問目錄中的條目之前為目錄調用。

為目錄中的文件調用。

為無法訪問的文件調用。

在訪問目錄中的條目之前為目錄調用。

如果此方法返回CONTINUE ,則訪問該目錄中的條目。 如果此方法返回SKIP_SUBTREE或SKIP_SIBLINGS,則不會訪問目錄中的條目(以及任何后代)。

為目錄中的文件調用。

為無法訪問的文件調用。

如果無法讀取文件的屬性,文件是無法打開的目錄以及其他原因,則調用此方法。

在目錄中的條目及其所有后代訪問后,為目錄調用。

當目錄的迭代過早完成時(通過visitFile方法返回SKIP_SIBLINGS ,或者在迭代目錄時發生I / O錯誤),也會調用此方法。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java visitor_java11教程--接口FileVisitor用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。