FileIO

org.apache.pekko.stream.scaladsl.FileIO
object FileIO

Factories to create sinks and sources from files

Attributes

Source
FileIO.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
FileIO.type

Members list

Value members

Concrete methods

def fromPath(f: Path, chunkSize: Int): Source[ByteString, Future[IOResult]]

Creates a Source from a files contents. Emitted elements are chunkSize sized pekko.util.ByteString elements, except the final element, which will be up to chunkSize in size.

Creates a Source from a files contents. Emitted elements are chunkSize sized pekko.util.ByteString elements, except the final element, which will be up to chunkSize in size.

You can configure the default dispatcher for this Source by changing the pekko.stream.materializer.blocking-io-dispatcher or set it for a given Source by using pekko.stream.ActorAttributes.

It materializes a Future of IOResult containing the number of bytes read from the source file upon completion, and a possible exception if IO operation was not completed successfully. Note that bytes having been read by the source does not give any guarantee that the bytes were seen by downstream stages.

Value parameters

chunkSize

the size of each read operation, defaults to 8192

f

the file path to read from

Attributes

Source
FileIO.scala
def fromPath(f: Path, chunkSize: Int, startPosition: Long): Source[ByteString, Future[IOResult]]

Creates a Source from a files contents. Emitted elements are chunkSize sized pekko.util.ByteString elements, except the final element, which will be up to chunkSize in size.

Creates a Source from a files contents. Emitted elements are chunkSize sized pekko.util.ByteString elements, except the final element, which will be up to chunkSize in size.

You can configure the default dispatcher for this Source by changing the pekko.stream.materializer.blocking-io-dispatcher or set it for a given Source by using pekko.stream.ActorAttributes.

It materializes a Future of IOResult containing the number of bytes read from the source file upon completion, and a possible exception if IO operation was not completed successfully. Note that bytes having been read by the source does not give any guarantee that the bytes were seen by downstream stages.

Value parameters

chunkSize

the size of each read operation, defaults to 8192

f

the file path to read from

startPosition

the start position to read from

Attributes

Source
FileIO.scala
def toPath(f: Path, options: Set[OpenOption]): Sink[ByteString, Future[IOResult]]

Creates a Sink which writes incoming ByteString elements to the given file path. Overwrites existing files by truncating their contents as default.

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.

This source is backed by an Actor which will use the dedicated pekko.stream.blocking-io-dispatcher, unless configured otherwise by using pekko.stream.ActorAttributes.

Accepts as arguments a set of java.nio.file.StandardOpenOption, which will determine the underlying behavior when writing the file. If java.nio.file.StandardOpenOption.SYNC is provided, every update to the file's content be written synchronously to the underlying storage device. Otherwise (the default), the write will be written to the storage device asynchronously by the OS, and may not be stored durably on the storage device at the time the stream completes.

Value parameters

f

the file path to write to

options

File open options, see java.nio.file.StandardOpenOption, defaults to Set(WRITE, TRUNCATE_EXISTING, CREATE)

Attributes

Source
FileIO.scala
def toPath(f: Path, options: Set[OpenOption], startPosition: Long): Sink[ByteString, Future[IOResult]]

Creates a Sink which writes incoming ByteString elements to the given file path. Overwrites existing files by truncating their contents as default.

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.

This source is backed by an Actor which will use the dedicated pekko.stream.blocking-io-dispatcher, unless configured otherwise by using pekko.stream.ActorAttributes.

Accepts as arguments a set of java.nio.file.StandardOpenOption, which will determine the underlying behavior when writing the file. If java.nio.file.StandardOpenOption.SYNC is provided, every update to the file's content be written synchronously to the underlying storage device. Otherwise (the default), the write will be written to the storage device asynchronously by the OS, and may not be stored durably on the storage device at the time the stream completes.

Value parameters

f

the file path to write to

options

File open options, see java.nio.file.StandardOpenOption, defaults to Set(WRITE, CREATE)

startPosition

the start position to write to

Attributes

Source
FileIO.scala

Deprecated methods

def fromFile(f: File, chunkSize: Int): Source[ByteString, Future[IOResult]]

Creates a Source from a files contents. Emitted elements are chunkSize sized pekko.util.ByteString elements, except the final element, which will be up to chunkSize in size.

Creates a Source from a files contents. Emitted elements are chunkSize sized pekko.util.ByteString elements, except the final element, which will be up to chunkSize in size.

You can configure the default dispatcher for this Source by changing the pekko.stream.materializer.blocking-io-dispatcher or set it for a given Source by using pekko.stream.ActorAttributes.

It materializes a Future of IOResult containing the number of bytes read from the source file upon completion, and a possible exception if IO operation was not completed successfully. Note that bytes having been read by the source does not give any guarantee that the bytes were seen by downstream stages.

Value parameters

chunkSize

the size of each read operation, defaults to 8192

f

the file to read from

Attributes

Deprecated
true
Source
FileIO.scala
def toFile(f: File, options: Set[OpenOption]): Sink[ByteString, Future[IOResult]]

Creates a Sink which writes incoming ByteString elements to the given file. Overwrites existing files by truncating their contents as default.

Creates a Sink which writes incoming ByteString elements to the given file. 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.

This source is backed by an Actor which will use the dedicated pekko.stream.blocking-io-dispatcher, unless configured otherwise by using pekko.stream.ActorAttributes.

Value parameters

f

the file to write to

options

File open options, see java.nio.file.StandardOpenOption, defaults to Set(WRITE, TRUNCATE_EXISTING, CREATE)

Attributes

Deprecated
true
Source
FileIO.scala