Допустим, я хочу выполнить следующие операции:
- Вывести список файлов в данном каталоге (в виде потока)
- Отобразить каждый файл (путь) в Reader (BufferedReader, например) для потребителя.
- Как только файл будет использован, удалите файлы
Код будет выглядеть примерно так:
Stream<Reader> stream = Files.list(Paths.get("myFolder")) // Returns a stream of Path
.callback(Files::delete) // This would have to be called after the reader has been consumed
.map(Files::newBufferedReader); // Maps every path into a Reader
Если я использую peek()
для удаления файлов, то файла не будет там, когда его нужно отобразить в Reader, поэтому мне нужно что-то, что запускается после расхода потока.Есть идеи?