fs2.io.file
Provides support for working with files.
Type members
Classlikes
Attributes of a file that are provided by most operating systems and file systems.
Attributes of a file that are provided by most operating systems and file systems.
To get an instance of BasicFileAttributes
, use Files[F].getBasicFileAttributes(path)
.
The fileKey
operation returns a unique identifier for the file, if the operating system
and file system supports providing such an identifier.
- Companion:
- object
Provides the ability to read/write/lock/inspect a file in the effect F
.
Provides the ability to read/write/lock/inspect a file in the effect F
.
- Companion:
- object
An opaque, unique identifier for a file.
An opaque, unique identifier for a file.
Paths which have the same FileKey
(via univerals equals),
as reported by Files[F].getBasicFileAttributes(path).fileKey
,
are guaranteed to reference the same file on the file system.
Note: not all operating systems and file systems support file keys,
hence BasicFileAttributes#fileKey
returns an Option[FileKey]
.
- Companion:
- object
Provides operations related to working with files in the effect F
.
Provides operations related to working with files in the effect F
.
An instance is available for any effect F
which has an Async[F]
instance.
The operations on this trait are implemented for both the JVM and Node.js.
Some operations only work on POSIX file systems, though such methods generally
have "Posix" in their names (e.g. getPosixPermissions
). A small number of methods
are only available on the JVM (e.g. variant of list
which takes a glob pattern) and
are indicated as such in their ScalaDoc.
- Companion:
- object
Flags describing how a file should be opened by Files[F].open(path, flags)
.
Flags describing how a file should be opened by Files[F].open(path, flags)
.
Common flag combinations are available in the companion (e.g. Flags.Write
)
Custom combinations are supported via the apply
method
(e.g., Flags(Flag.Write, Flag.CreateNew)
).
- Companion:
- object
Path to a file or directory on a file system.
Path to a file or directory on a file system.
The path API is inspired by the java.nio.file.Path
API. On the JVM,
a NIO path can be converted to an FS2 path via Path.fromNioPath(p)
and likewise an FS2 path can be converted to a NIO path via p.toNioPath
.
(When using this class on Node.js, the fromNioPath
and toNioPath
methods are
not accessible.)
Generally, most methods have the same behavior as their NIO counterparts, though
there are some slight differences -- e.g., resolve
normalizes.
- Companion:
- object
Describes the permissions of a file / directory.
Describes the permissions of a file / directory.
Note: currently, there is only one subtype -- PosixPermissions
.
More types may be added in the future (e.g. Windows ACLs).
Describes POSIX file permissions, where the user, group, and others are each assigned read, write, and/or execute permissions.
Describes POSIX file permissions, where the user, group, and others are each assigned read, write, and/or execute permissions.
The toString
method provides a 9 character string where the first
three characters indicate user permissions, the next three group permissions,
and the final three others permissions. For example, rwxr-xr--
indicates
the owner has read, write and execute, the group as read and execute, and
others have read.
The value
field encodes the permissions in the lowest 9 bits of an integer.
bits 8-6 indicate read, write, and execute for the owner, 5-3 for the group,
and 2-0 for others. rwxr-xr--
has the integer value 111101100 = 492.
The toOctalString
method returns the a 3 digit string, where the first
character indicates read, write and execute for the owner, the second digit
for the group, and the third digit for others. rwxr-xr--
has the octal string
754
.
Constructors from strings, octal strings, and integers, as well as explicitly enumerating permissions, are provided in the companion.
- Companion:
- object
Associates a FileHandle
with an offset in to the file.
Associates a FileHandle
with an offset in to the file.
This encapsulates the pattern of incrementally reading bytes in from a file, a chunk at a time. Convenience methods are provided for working with pulls.
- Companion:
- object
Allows watching the file system for changes to directories and files by using the platform's WatchService
.
Allows watching the file system for changes to directories and files by using the platform's WatchService
.
- Companion:
- object
Associates a FileHandle
with an offset in to the file.
Associates a FileHandle
with an offset in to the file.
This encapsulates the pattern of incrementally writing bytes in to a file, a chunk at a time. Convenience methods are provided for working with pulls.
- Companion:
- object
Types
Value members
Deprecated methods
Copies a file from the source to the target path,
Copies a file from the source to the target path,
By default, the copy fails if the target file already exists or is a symbolic link.
- Deprecated
Creates a new directory at the given path and creates all nonexistent parent directories beforehand.
Creates a new directory at the given path and creates all nonexistent parent directories beforehand.
- Deprecated
Creates a new directory at the given path
Creates a new directory at the given path
- Deprecated
Deletes a file.
Deletes a file.
If the file is a directory then the directory must be empty for this action to succeed. This action will fail if the path doesn't exist.
- Deprecated
Recursively delete a directory
Recursively delete a directory
- Deprecated
Like delete
, but will not fail when the path doesn't exist.
Like delete
, but will not fail when the path doesn't exist.
- Deprecated
Creates a stream of Path
s inside a directory.
Creates a stream of Path
s inside a directory.
- Deprecated
Creates a stream of Path
s inside a directory, filtering the results by the given predicate.
Creates a stream of Path
s inside a directory, filtering the results by the given predicate.
- Deprecated
Creates a stream of Path
s inside a directory which match the given glob.
Creates a stream of Path
s inside a directory which match the given glob.
- Deprecated
Checks if a file exists
Checks if a file exists
Note that the result of this method is immediately outdated. If this method indicates the file exists then there is no guarantee that a subsequence access will succeed. Care should be taken when using this method in security sensitive applications.
- Deprecated
Moves (or renames) a file from the source to the target path.
Moves (or renames) a file from the source to the target path.
By default, the move fails if the target file already exists or is a symbolic link.
- Deprecated
Get file permissions as set of PosixFilePermission
.
Get file permissions as set of PosixFilePermission
.
This will only work for POSIX supporting file systems
- Deprecated
Reads a range of data synchronously from the file at the specified java.nio.file.Path
.
start
is inclusive, end
is exclusive, so when start
is 0 and end
is 2,
two bytes are read.
Reads a range of data synchronously from the file at the specified java.nio.file.Path
.
start
is inclusive, end
is exclusive, so when start
is 0 and end
is 2,
two bytes are read.
- Deprecated
Set file permissions from set of PosixFilePermission
.
Set file permissions from set of PosixFilePermission
.
This will only work for POSIX supporting file systems
- Deprecated
Returns the size of a file (in bytes).
Returns the size of a file (in bytes).
- Deprecated
Returns an infinite stream of data from the file at the specified path.
Starts reading from the specified offset and upon reaching the end of the file,
polls every pollDuration
for additional updates to the file.
Returns an infinite stream of data from the file at the specified path.
Starts reading from the specified offset and upon reaching the end of the file,
polls every pollDuration
for additional updates to the file.
Read operations are limited to emitting chunks of the specified chunk size but smaller chunks may occur.
If an error occurs while reading from the file, the overall stream fails.
- Deprecated
Creates a resource containing the path of a temporary directory.
Creates a resource containing the path of a temporary directory.
The temporary directory is removed during the resource release.
- Deprecated
Creates a stream containing the path of a temporary directory.
Creates a stream containing the path of a temporary directory.
The temporary directory is removed when the stream completes.
- Deprecated
Creates a resource containing the path of a temporary file.
Creates a resource containing the path of a temporary file.
The temporary file is removed during the resource release.
- Deprecated
Creates a stream containing the path of a temporary file.
Creates a stream containing the path of a temporary file.
The temporary file is removed when the stream completes.
- Deprecated
Creates a stream of Path
s contained in a given file tree. Depth is unlimited.
Creates a stream of Path
s contained in a given file tree. Depth is unlimited.
- Deprecated
Creates a stream of Path
s contained in a given file tree, respecting the supplied options. Depth is unlimited.
Creates a stream of Path
s contained in a given file tree, respecting the supplied options. Depth is unlimited.
- Deprecated
Creates a stream of Path
s contained in a given file tree down to a given depth.
Creates a stream of Path
s contained in a given file tree down to a given depth.
- Deprecated
Watches a single path.
Watches a single path.
Alias for creating a watcher and watching the supplied path, releasing the watcher when the resulting stream is finalized.
- Deprecated
Writes all data to the file at the specified java.nio.file.Path
.
Writes all data to the file at the specified java.nio.file.Path
.
Adds the WRITE flag to any other OpenOption
flags specified. By default, also adds the CREATE flag.
- Deprecated
Writes all data to a sequence of files, each limited in size to limit
.
Writes all data to a sequence of files, each limited in size to limit
.
The computePath
operation is used to compute the path of the first file
and every subsequent file. Typically, the next file should be determined
by analyzing the current state of the filesystem -- e.g., by looking at all
files in a directory and generating a unique name.
- Deprecated