- class FileException: object.Exception;
- ファイル入出力エラーが発生したときに投げられる例外です。
- void[] read(in string name);
- ファイル name[] を読み取り、読み込まれたbyteの配列を返します。
Throws:
FileException をエラー時に投げる
- void write(in string name, void[] buffer);
- buffer[] をファイル name[] へ書き込みます。
Throws:
FileException をエラー時に投げる
- void append(in string name, in void[] buffer);
- ファイル name[] へ buffer[] を追記します。
Throws:
FileException をエラー時に投げる
- void rename(in string from, in string to);
- ファイル from[] を to[] に改名します。
Throws:
FileException をエラー時に投げる
- void remove(in string name);
- ファイル name[] を削除します。
Throws:
FileException をエラー時に投げる
- ulong getSize(in string name);
- ファイル name[] のサイズを得ます。
Throws:
FileException をエラー時に投げる
- void getTimes(in string name, out d_time ftc, out d_time fta, out d_time ftm);
- ファイル name[] の作成/最終更新/最終アクセス時刻を取得
Throws:
FileException をエラー時に投げる
- int exists(string name);
- name[] (ファイルまたはディレクトリ)は存在するか?
存在するなら 1 しないなら 0 を返します。
- uint getAttributes(string name);
- ファイル name[] の属性を得ます。
Throws:
FileException をエラー時に投げる
- int isfile(in string name);
- name[] はファイルか?
Throws:
name[] が存在しなければ FileException を投げる
- int isdir(in string name);
- name[] はディレクトリか?
Throws:
name[] が存在しなければ FileException を投げる
- void chdir(in string pathname);
- 現在の作業ディレクトリを変更します。
Throws:
FileException をエラー時に投げる
- void mkdir(in string pathname);
- ディレクトリを作ります。
Throws:
FileException をエラー時に投げる
- void rmdir(in string pathname);
- ディレクトリを削除します。
Throws:
FileException をエラー時に投げる
- string getcwd();
- 現在の作業ディレクトリを取得します。
Throws:
FileException をエラー時に投げる
- struct DirEntry;
- ディレクトリエントリ
- string name;
- ファイルかディレクトリの名前
- ulong size;
- ファイルのバイト数
- d_tim creationTime;
- ファイル作成日時
- d_time lastAccessTime;
- ファイル最終アクセス日時
- d_time lastWriteTime;
- ファイル最終更新日時
- uint isdir();
- DirEntryがディレクトリの場合非ゼロ
- uint isfile();
- DirEntryがファイルの場合非ゼロ
- string[] listdir(string pathname);
- ディレクトリの内容を返します。
内容の名前には pathname は含まれません
Throws:
FileException をエラー時に投げる
Example:
このプログラムは、指定されたパス引数内の全てのファイルと
サブディレクトリをリストアップします。
import std.stdio;
import std.file;
void main(string[] args)
{
auto dirs = std.file.listdir(args[1]);
foreach (d; dirs)
writefln(d);
}
- string[] listdir(in string pathname, in string pattern);
string[] listdir(in string pathname, RegExp r);
- ディレクトリとサブディレクトリにある全てのファイルのうち、
pattern または正規表現 r にマッチするもののみを返します。
Params:
string pathname |
ディレクトリ名 |
string pattern |
ワイルドカード入り文字列。例えば "*.d"。
対応しているワイルドカード文字列は、std.path
の fnmatch() に記述されています。 |
r |
正規表現です。より強力なパターンマッチに使用します。 |
Example:
このプログラムは、第一引数として渡されたパス上にある
拡張子 "d" のファイルを全てリストアップします。
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);
}
"d" もしくは "obj" の拡張子を持つファイルを探す、
正規表現バージョンです:
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(in string pathname, bool delegate(in string filename) callback);
- pathname[] 内の全てのファイルとディレクトリ名を、
callback delegate に渡します。
Params:
bool delegate(in string filename) callback |
毎回それぞれのパス文字列を処理する Delegate。
処理を続行するには true を、
終了するには false を返すこと。 |
Example:
このプログラムは、自身を含めパス引数以下の全てのファイルを
リストアップします。
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(in string pathname, bool delegate(DirEntry* de) callback);
- pathname[] 内の全てのファイルとディレクトリのDirEntryを、
callback delegate に渡します。
Params:
bool delegate(DirEntry* de) callback |
毎回それぞれのDirEntryを処理する Delegate。
処理を続行するには true を、
終了するには false を返すこと。 |
Example:
このプログラムは、自身を含めパス引数以下の全てのファイルを
リストアップします。
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(in string s);
- Win9x は "W" API をサポートしないため、
まず文字列を wchar に変換してから
現在のコードページに従いマルチバイト文字列に変換します。
(yaneuraoに感謝)
Deprecated:
変わりに std.windows.charset.toMBSz の仕様が推奨されています
- void copy(in string from, in string to);
- ファイル from[] to[] へコピーします。