FileIO.toPath

Create a sink which will write incoming ByteString s to a given file path.

File IO Sinks and Sources

Signature

FileIO.toPathFileIO.toPath

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
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))
Java
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);