如何使用 Java NIO 删除目录(文件和子目录)的内容而不删除目录本身?
How to delete the contents of a directory (files and subdirectory) without deletecting the directory itself with Java NIO?
我正在使用以下 JAVA 8 代码删除目录及其内容(文件、子目录和目录)。如果我想重构代码以保留目录并仅删除其内容,我该如何实现?
Path pathToBeDeleted = Paths.get(directoryPath);
Files.walk(pathToBeDeleted)
.sorted(Comparator.reverseOrder())
.map(Path::toFile)
.forEach(File::delete);
您需要将 filter 添加到您的流中(在地图操作之前):
filter(path -> !path.equals(pathToBeDeleted))
这将 return 一个仅包含目录内容的流。
我正在使用以下 JAVA 8 代码删除目录及其内容(文件、子目录和目录)。如果我想重构代码以保留目录并仅删除其内容,我该如何实现?
Path pathToBeDeleted = Paths.get(directoryPath);
Files.walk(pathToBeDeleted)
.sorted(Comparator.reverseOrder())
.map(Path::toFile)
.forEach(File::delete);
您需要将 filter 添加到您的流中(在地图操作之前):
filter(path -> !path.equals(pathToBeDeleted))
这将 return 一个仅包含目录内容的流。