阅读(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 -