Как удалить содержимое каталога (файлы и подкаталоги), не удаляя сам каталог с помощью Java NIO? - PullRequest
1 голос
/ 07 октября 2019

Я использую следующий код JAVA 8 для удаления каталога и его содержимого (файлов, подкаталогов и каталогов). Если я хочу изменить код, чтобы сохранить каталог и стереть только его содержимое, как мне этого добиться?

Path pathToBeDeleted =  Paths.get(directoryPath);
Files.walk(pathToBeDeleted)
    .sorted(Comparator.reverseOrder())
    .map(Path::toFile)
    .forEach(File::delete);

1 Ответ

0 голосов
/ 07 октября 2019

Вам необходимо добавить фильтр в свой поток (перед операцией отображения):

filter(path -> !path.equals(pathToBeDeleted))

Это вернет поток, состоящий только из содержимого каталога.

...