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
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¶
sourceval file = Paths.get("greeting.txt")
val text = Source.single("Hello Pekko Stream!")
val result: Future[IOResult] = text.map(t => ByteString(t)).runWith(FileIO.toPath(file))
sourcefinal Path file = Paths.get("greeting.txt");
Sink<ByteString, CompletionStage<IOResult>> fileSink = FileIO.toPath(file);
Source<String, NotUsed> textSource = Source.single("Hello Pekko Stream!");
CompletionStage<IOResult> ioResult =
textSource.map(ByteString::fromString).runWith(fileSink, system);
1.1.3