Function std.file.isFile
Returns whether the given file (or directory) is a file.
bool isFile(R)
(
R name
) @property
if (isInputRange!R && !isInfinite!R && isSomeChar!(ElementEncodingType!R) && !isConvertibleToString!R);
bool isFile(R)
(
auto ref R name
) @property
if (isConvertibleToString!R);
On Windows, if a file is not a directory, then it's a file. So,
either isFile or isDir will return true for any given file.
On POSIX systems, if isFile is true, that indicates that the file
is a regular file (e.g. not a block not device). So, on POSIX systems, it's
possible for both isFile and isDir to be false for a
particular file (in which case, it's a special file). You can use
getAttributes to get the attributes to figure out what type of special
it is, or you can use DirEntry to get at its statBuf, which is the
result from stat. In either case, see the man page for stat for
more information.
Parameters
| Name | Description |
|---|---|
| name | The path to the file. |
Returns
true if name specifies a file
Throws
FileException if the given file does not exist.
Example
import std .exception : assertThrown;
auto dir = deleteme ~ "dir";
auto f = deleteme ~ "f";
scope(exit) dir .rmdir, f .remove;
dir .mkdir;
assert(!dir .isFile);
assert(!f .exists);
assertThrown!FileException(f .isFile);
f .write(".");
assert(f .isFile);