fromJavaStream

Stream the values from a Java 8 Stream, requesting the next value when there is demand.

Source operators

Signature

StreamConverters.fromJavaStreamStreamConverters.fromJavaStream

Description

Stream the values from a Java 8 Stream, requesting the next value when there is demand. The iterator will be created anew for each materialization, which is the reason the method factory takes a function Creator rather than an Stream directly.

You can use Source.async to create asynchronous boundaries between synchronous java stream and the rest of flow.

Example

Scala
Source.fromJavaStream(() => IntStream.rangeClosed(1, 3)).runForeach(println)
// could print
// 1
// 2
// 3
Java
Source.fromJavaStream(() -> IntStream.rangeClosed(1, 3))
    .runForeach(System.out::println, system);
// could print
// 1
// 2
// 3

Reactive Streams semantics

emits the next value returned from the iterator

completes when the iterator reaches its end

Found an error in this documentation? The source code for this page can be found here. Please feel free to edit and contribute a pull request.