阅读(2110)
赞(18)
D编程 文件I/O
2021-09-01 10:27:19 更新
文件File由std.stdio模块的 File 结构表示,文件表示字节序列,无论是文本文件还是二进制文件都没有关系,D编程语言提供对高级函数的访问/处理存储设备上文件。
打开文件
首先通过指定文件名和所需的访问权限来打开文件。
File file=File(filepath, "mode");
在这里, filename 是字符串文字,您可以使用它来命名文件并访问 mode 可以具有以下值之一-
Sr.No. | Mode & 描述 |
---|---|
1 | r 读取内容。 |
2 | w 写入内容,如果不存在则创建一个新文件。 |
3 | a 追加写入,如果不存在则创建一个新文件。 |
4 | r + 打开一个文本文件以进行读写。 |
5 | w + 打开一个文本文件以进行读写,如果存在,它将首先将文件截断为零长度; |
6 | a + 打开一个文本文件以进行读写,如果文件不存在,它将创建文件。 |
关闭文件
要关闭文件,请使用file.close()函数,其中file包含文件引用。
file.close();
程序使用完该文件后,必须关闭该程序打开的所有文件,在大多数情况下,不需要显式关闭文件,当文件对象终止时,它们将自动关闭。
写入文件
file.writeln用于写入打开的文件。
file.writeln("hello");
import std.stdio;
import std.file;
void main() {
File file=File("test.txt", "w");
file.writeln("hello");
file.close();
}
编译并执行上述代码后,它将在其下启动的目录创建一个新文件 test.txt 。
读取文件
以下方法从文件读取一行-
string s=file.readln();
读写的完整如下所示。
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();
}
编译并执行上述代码后,它将读取上一部分中创建的文件,并产生以下输出-
hello
这是另一个读取文件直到文件结束的示例。
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);
}
}
编译并执行上述代码后,它将读取上一部分中创建的文件,并产生以下输出-
line -hello
line -world
line -
← D编程 不可变