Я пытаюсь читать из файла построчно с некоторой задержкой.
Например:
- прочитать и распечатать 1-ю строку файла
- подождите 10 секунд
- прочитать и распечатать вторую строку файла
- и т.д.
Пока я пробовал что-то вроде этого:
final Path filePath = Paths.get('path/to/file');
final ActorSystem system = ActorSystem.create();
final Materializer materializer = ActorMaterializer.create(system);
Sink<ByteString, CompletionStage<Done>> printlnSink =
Sink.<ByteString>foreach(chunk -> System.out.println(chunk.utf8String()));
final CompletionStage<IOResult> result =
FileIO.fromPath(filePath)
.throttle(1, Duration.create(10, TimeUnit.SECONDS), 1, ThrottleMode.shaping())
.to(printlnSink)
.run(materializer);
Но это порождает слишком много строк за раз, а не одну строку за раз.
Есть идеи как это исправить?