如何使用 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 一个仅包含目录内容的流。