The OS's "native" filesystem character type (private in Phobos).
Copy a file, or replace an existing file's contents with another file's, atomically.
Create a file, or replace an existing file's contents atomically. Note: Consider using atomic!syncWrite or atomic!syncUpdate instead.
Collect a "file already exists" error.
Collect a "file not found" error.
Argument-reversed version of std.file.write, usable at the end of an UFCS chain.
Attempt to acquire the specified privilege.
Returns true if the target file doesn't exist, or any of the sources are newer than the target.
Wrap an operation which creates a file or directory, so that it is created safely and, for files, atomically (by performing the underlying operation to a temporary location, then renaming the completed file/directory to the actual target location). targetName specifies the name of the parameter containing the target file/directory.
Atomically exchange the given files.
Like symlink, but replaces it atomically if it already exists.
Wrap an operation so that it is skipped entirely if the target already exists. Implies atomic.
Catch common Phobos exception types corresponding to file operations.
Copy a directory recursively.
Ensure that realPath(path) exists, creating a file or directory (according to isFile) as necessary, as well as any missing directory components or symlink targets (recursively if necessary).
Deletes a file, which might be a read-only hard link (thus, deletes the read-only file/link without affecting other links to it).
Link a directory. Uses symlinks on POSIX, and directory junctions on Windows.
Make sure that the given directory exists (and create parent directories as necessary).
Combines ensurePathExists and touch.
Make sure that the path to the given file name exists (and create directories as necessary).
Enumerate all hard links to the specified file.
Shell-like expansion of ?, * and ** in path components
Calculate the digest of a file.
Calculate the digest of a file, and memoize it.
Shell-like expansion of ?, * and ** in path components
Forcibly remove a file or directory. If atomic is true, the entire directory is deleted "atomically" (it is first moved/renamed to another location). On Windows, this will move the file/directory out of the way, if it is in use and cannot be deleted (but can be renamed).
Return a file's unique ID.
Get the ID of the group owning this file.
Returns an iterator of MountInfo structs.
Get the ID of the user owning this file.
Get the name of the filesystem that the given path is mounted under. Returns null if none match.
Get MountInfo with longest mount point matching path. Returns MountInfo.init if none match.
Create a hard link.
Create a hard link.
Obtain the hard link count for the given file.
Return true if the given file would be hidden from directory listings. Returns true for files starting with '.', and, on Windows, hidden files.
Return true if we can open this path for reading as a file.
Resolve the target of the symlink, returning a valid path (i.e. relative to path's base, not the symlink's directory).
Return XAttrs for the given path.
Using UNC paths bypasses path length limitation when using Windows wide APIs.
Try to rename; copy/delete if rename fails
Returns true if the target file doesn't exist, or source is newer than the target.
Polyfill for Windows fopen implementations with support for UNC paths and the 'x' subspecifier.
Parse a line from /proc/self/mounts.
Two-argument buildPath with reversed arguments. Useful for UFCS chaining.
Change the current directory to the given directory. Does nothing if dir is null. Return a scope guard which, upon destruction, restores the previous directory. Asserts that only one thread has changed the process's current directory at any time.
Like std.file.readText for non-UTF8
Read exactly buf.length bytes and return true. On EOF, return false.
Read a File (which might be a stream) into an array
Start a thread which reads data from f asynchronously. Call the returning delegate to obtain the read data, blocking until the read completes.
Like File.rawRead, but returns as soon as any data is available.
Wrapper around the C realpath function.
Create an empty directory, deleting all its contents if it already exists.
If fn is a directory, delete it recursively. Otherwise, delete the file or symlink fn.
Avoid std.stdio.File.readln's memory corruption bug https://issues.dlang.org/show_bug.cgi?id=13856
Set the owner user and group of this file.
Reads a time field from a stat_t with full precision (private in Phobos).
Windows implementation of std.file.symlink.
Atomically save data to a file (if the file doesn't exist, or its contents differs). The update operation as a whole is not atomic, only the write is.
Write data to a file, and ensure it gets written to disk before this function returns. Consider using as atomic!syncWrite. See also: syncUpdate
If target exists, update its modification time; otherwise create it as an empty file.
Truncate the given file to the given size.
Start a thread which writes data to f asynchronously.
Same as toFile, but accepts void[] and does not conflict with the std.stdio function.
Return XAttrs for the given path, or the link destination if the path leads to as symbolic link.
Return XAttrs for the given open file.
Parameter names that atomic assumes indicate a destination file by default.
A parsed line from /proc/self/mounts.
Create a named pipe, and allow interacting with it using a std.stdio.File.
AA-like object for accessing a file's extended attributes.
Fast templated directory iterator
Calculate the MD5 hash of a file.
Calculate the MD5 hash of a file, and memoize it.
Composes a function which generates a file name with a function which creates the file. Returns the file name.
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
File stuff