文件File由std.stdio模塊的 File 結(jié)構(gòu)表示,文件表示字節(jié)序列,無(wú)論是文本文件還是二進(jìn)制文件都沒(méi)有關(guān)系,D編程語(yǔ)言提供對(duì)高級(jí)函數(shù)的訪問(wèn)/處理存儲(chǔ)設(shè)備上文件。
首先通過(guò)指定文件名和所需的訪問(wèn)權(quán)限來(lái)打開(kāi)文件。
File file=File(filepath, "mode");
在這里, filename 是字符串文字,您可以使用它來(lái)命名文件并訪問(wèn) mode 可以具有以下值之一-
Sr.No. | Mode & 描述 |
---|---|
1 | r 讀取內(nèi)容。 |
2 | w 寫(xiě)入內(nèi)容,如果不存在則創(chuàng)建一個(gè)新文件。 |
3 | a 追加寫(xiě)入,如果不存在則創(chuàng)建一個(gè)新文件。 |
4 | r + 打開(kāi)一個(gè)文本文件以進(jìn)行讀寫(xiě)。 |
5 | w + 打開(kāi)一個(gè)文本文件以進(jìn)行讀寫(xiě),如果存在,它將首先將文件截?cái)酁榱汩L(zhǎng)度; |
6 | a + 打開(kāi)一個(gè)文本文件以進(jìn)行讀寫(xiě),如果文件不存在,它將創(chuàng)建文件。 |
要關(guān)閉文件,請(qǐng)使用file.close()函數(shù),其中file包含文件引用。
file.close();
程序使用完該文件后,必須關(guān)閉該程序打開(kāi)的所有文件,在大多數(shù)情況下,不需要顯式關(guān)閉文件,當(dāng)文件對(duì)象終止時(shí),它們將自動(dòng)關(guān)閉。
file.writeln用于寫(xiě)入打開(kāi)的文件。
file.writeln("hello");
import std.stdio;
import std.file;
void main() {
File file=File("test.txt", "w");
file.writeln("hello");
file.close();
}
編譯并執(zhí)行上述代碼后,它將在其下啟動(dòng)的目錄創(chuàng)建一個(gè)新文件 test.txt 。
以下方法從文件讀取一行-
string s=file.readln();
讀寫(xiě)的完整如下所示。
import std.stdio;
import std.file;
void main() {
File file=File("test.txt", "w");
file.writeln("hello");
file.close();
file=File("test.txt", "r");
string s=file.readln();
writeln(s);
file.close();
}
編譯并執(zhí)行上述代碼后,它將讀取上一部分中創(chuàng)建的文件,并產(chǎn)生以下輸出-
hello
這是另一個(gè)讀取文件直到文件結(jié)束的示例。
import std.stdio;
import std.string;
void main() {
File file=File("test.txt", "w");
file.writeln("hello");
file.writeln("world");
file.close();
file=File("test.txt", "r");
while (!file.eof()) {
string line=chomp(file.readln());
writeln("line -", line);
}
}
編譯并執(zhí)行上述代碼后,它將讀取上一部分中創(chuàng)建的文件,并產(chǎn)生以下輸出-
line -hello
line -world
line -
更多建議: