FileIO.toPath
Create a sink which will write incoming ByteString
s to a given file path.
Signature
Description
Creates a Sink which writes incoming ByteString
elements to the given file path. Overwrites existing files by truncating their contents as default. Materializes a Future
CompletionStage
of IOResult
that will be completed with the size of the file (in bytes) at the streams completion, and a possible exception if IO operation was not completed successfully.
Example
- Scala
-
source
val file = Paths.get("greeting.txt") val text = Source.single("Hello Akka Stream!") val result: Future[IOResult] = text.map(t => ByteString(t)).runWith(FileIO.toPath(file))
- Java
-
source
final Path file = Paths.get("greeting.txt"); Sink<ByteString, CompletionStage<IOResult>> fileSink = FileIO.toPath(file); Source<String, NotUsed> textSource = Source.single("Hello Akka Stream!"); CompletionStage<IOResult> ioResult = textSource.map(ByteString::fromString).runWith(fileSink, system);