- class FileException: object.Exception;
- Exception thrown for file I/O errors.
- void[] read(char[] name);
- Read file name[], return array of bytes read.
Throws:
FileException on error.
- void write(char[] name, void[] buffer);
- Write buffer[] to file name[].
Throws:
FileException on error.
- void append(char[] name, void[] buffer);
- Append buffer[] to file name[].
Throws:
FileException on error.
- void rename(char[] from, char[] to);
- Rename file from[] to to[].
Throws:
FileException on error.
- void remove(char[] name);
- Delete file name[].
Throws:
FileException on error.
- ulong getSize(char[] name);
- Get size of file name[].
Throws:
FileException on error.
- void getTimes(char[] name, out d_time ftc, out d_time fta, out d_time ftm);
- Get creation/access/modified times of file name[].
Throws:
FileException on error.
- int exists(char[] name);
- Does file name[] (or directory) exist?
Return 1 if it does, 0 if not.
- uint getAttributes(string name);
- Get file name[] attributes.
Throws:
FileException on error.
- int isfile(char[] name);
- Is name[] a file?
Throws:
FileException if name[] doesn't exist.
- int isdir(char[] name);
- Is name[] a directory?
Throws:
FileException if name[] doesn't exist.
- void chdir(char[] pathname);
- Change directory to pathname[].
Throws:
FileException on error.
- void mkdir(char[] pathname);
- Make directory pathname[].
Throws:
FileException on error.
- void rmdir(char[] pathname);
- Remove directory pathname[].
Throws:
FileException on error.
- char[] getcwd();
- Get current directory.
Throws:
FileException on error.
- struct DirEntry;
- Directory Entry
- string name;
- file or directory name
- ulong size;
- size of file in bytes
- d_time creationTime;
- time of file creation
- d_time lastAccessTime;
- time file was last accessed
- d_time lastWriteTime;
- time file was last written to
- uint isdir();
- Return !=0 if DirEntry is a directory.
- uint isfile();
- Return !=0 if DirEntry is a file.
- string[] listdir(string pathname);
- Return contents of directory pathname[].
The names in the contents do not include the pathname.
Throws:
FileException on error
Example:
This program lists all the files and subdirectories in its
path argument.
import std.stdio;
import std.file;
void main(string[] args)
{
auto dirs = std.file.listdir(args[1]);
foreach (d; dirs)
writefln(d);
}
- string[] listdir(string pathname, string pattern);
string[] listdir(string pathname, RegExp r);
- Return all the files in the directory and its subdirectories
that match pattern or regular expression r.
Params:
string pathname |
Directory name |
string pattern |
String with wildcards, such as "*.d". The supported
wildcard strings are described under fnmatch() in
std.path. |
r |
Regular expression, for more powerful pattern matching. |
Example:
This program lists all the files with a "d" extension in
the path passed as the first argument.
import std.stdio;
import std.file;
void main(string[] args)
{
auto d_source_files = std.file.listdir(args[1], "*.d");
foreach (d; d_source_files)
writefln(d);
}
A regular expression version that searches for all files with "d" or
"obj" extensions:
import std.stdio;
import std.file;
import std.regexp;
void main(string[] args)
{
auto d_source_files = std.file.listdir(args[1], RegExp(r"\.(d|obj)$"));
foreach (d; d_source_files)
writefln(d);
}
- void listdir(string pathname, bool delegate(char[] filename) callback);
- For each file and directory name in pathname[],
pass it to the callback delegate.
Params:
bool delegate(char[] filename) callback |
Delegate that processes each
filename in turn. Returns true to
continue, false to stop. |
Example:
This program lists all the files in its
path argument, including the path.
import std.stdio;
import std.path;
import std.file;
void main(string[] args)
{
auto pathname = args[1];
string[] result;
bool listing(string filename)
{
result ~= std.path.join(pathname, filename);
return true; }
listdir(pathname, &listing);
foreach (name; result)
writefln("%s", name);
}
- void listdir(string pathname, bool delegate(DirEntry* de) callback);
- For each file and directory DirEntry in pathname[],
pass it to the callback delegate.
Params:
bool delegate(DirEntry* de) callback |
Delegate that processes each
DirEntry in turn. Returns true to
continue, false to stop. |
Example:
This program lists all the files in its
path argument and all subdirectories thereof.
import std.stdio;
import std.file;
void main(string[] args)
{
bool callback(DirEntry* de)
{
if (de.isdir)
listdir(de.name, &callback);
else
writefln(de.name);
return true;
}
listdir(args[1], &callback);
}
- char* toMBSz(string s);
- Since Win 9x does not support the "W" API's, first convert
to wchar, then convert to multibyte using the current code
page.
(Thanks to yaneurao for this)
Deprecated:
use std.windows.charset.toMBSz instead.
- void copy(string from, string to);
- Copy a file from[] to[].