std.file
Source:std/file.d
- 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; // continue } 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[].