首页 > 其他分享 >无涯教程-D语言 - 文件I/O

无涯教程-D语言 - 文件I/O

时间:2023-11-18 14:33:18浏览次数:36  
标签:std 文件 教程 file 无涯 writeln File close 语言

文件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("learnfk"); 
import std.stdio; 
import std.file;
  
void main() { 
   File file=File("test.txt", "w"); 
   file.writeln("learnfk");
   file.close(); 
}

编译并执行上述代码后,它将在其下启动的目录创建一个新文件 test.txt 。

读取文件

以下方法从文件读取一行-

string s=file.readln();

读写的完整如下所示。

import std.stdio; 
import std.file; 
 
void main() { 
   File file=File("test.txt", "w");
   file.writeln("learnfk");  
   file.close(); 
   file=File("test.txt", "r"); 
   
   string s=file.readln(); 
   writeln(s);
   
   file.close(); 
} 

编译并执行上述代码后,它将读取上一部分中创建的文件,并产生以下输出-

learnfk

这是另一个读取文件直到文件结束的示例。

import std.stdio;
import std.string;

void main() { 
   File file=File("test.txt", "w");  
   file.writeln("hello"); 
   file.writeln("Learnfk");  
   file.close();  
   file=File("test.txt", "r"); 
    
   while (!file.eof()) { 
      string line=chomp(file.readln()); 
      writeln("line -", line); 
   }
} 

编译并执行上述代码后,它将读取上一部分中创建的文件,并产生以下输出-

line -hello 
line -Learnfk 
line -

参考链接

https://www.learnfk.com/d-programming/d-programming-file-io.html

标签:std,文件,教程,file,无涯,writeln,File,close,语言
From: https://blog.51cto.com/u_14033984/8462078

相关文章

  • c5w2_自然语言处理与词嵌入
    自然语言处理与词嵌入词嵌入one-hot向量表示了每个词在词汇表中的位置,但是每个one-hot向量的内积为0,不能表示出每个词之间的相互关系。Iwantaglassoforangejuice.Iwantaglassofapple__.例如,对于上述的这样一句话,通过学习算法可能知道在orange后面填入juice是一......
  • 无涯教程-D语言 - 不可变(Immutables)
    我们经常使用可变的变量,但是在很多情况下不需要可变性。D的不变性概念由const和immutable关键字表示,尽管这两个词本身的含义很接近,但它们在程序中的职责有所不同,有时是不兼容的。枚举常量枚举常量使将常量值与有意义的名称相关联成为可能,一个简单的如下所示。importstd.stdi......
  • C语言小案例
    在一个整型数组中插入任意一个数字,进行重新排序,用多种方法如何实现?方法1:直接插入排序法#include<stdio.h>voidinsert(intarr[],intn,intx){inti,j;for(i=0;i<n;i++){if(arr[i]>x){for(j=n-1;j>=i;j--){......
  • Windos操作系统下的Zookeeper安装图文教程
    凯哥已经准备好最新版本3.9.1且已经配置好了。既获取到配置好的。获取到凯哥准备的安装后,只需要修改一下配置。将解压包解压后,找到conf文件,里面有个zoo.cfg配置文件。如下图:下载后conf文件夹内容打开zoo.cfg配置文件后,找到13、14这两行。将dataDir和dataLogDir的路径修改成自......
  • Windos操作系统下的Zookeeper安装图文教程
    凯哥已经准备好最新版本3.9.1且已经配置好了。既获取到配置好的。获取到凯哥准备的安装后,只需要修改一下配置。将解压包解压后,找到conf文件,里面有个zoo.cfg配置文件。如下图:下载后conf文件夹内容打开zoo.cfg配置文件后,找到13、14这两行。将dataDir和dataLogDir的路径修改成自己的就......
  • 无涯教程-D语言 - 模板(Templates)
    模板是通用编程的基础,它涉及以独立于任何特定类型的方式编写代码。函数模板将函数定义为模板会将其使用的一种或多种类型保留为未指定状态,以便稍后由编译器推导。在模板参数列表中定义了未指定的类型,该参数介于函数名称和函数参数列表之间。因此,函数模板具有两个参数列表-模板......
  • kafka安装教程
    检查java8没有就安装java-version安装jdk1.8yum-yinstalljava-1.8.0-openjdk下载kafka(网速很慢)wgethttps://dlcdn.apache.org/kafka/3.5.0/kafka_2.13-3.5.0.tgz解压缩tar-xzfkafka_2.13-3.5.0.tgzcdkafka_2.13-3.5.0后台启动ZooKeeper服务(这里使用kafka里......
  • Mysql数据库的四大语言
    1.DDL(数据定义语言):DDL主要用于定义数据库对象,如创建、修改和删除表、索引、视图、序列等对象。常用的DDL命令包括:CREATE、ALTER、DROP、TRUNCATE等 2.DML(数据操作语言) :DML主要用于对数据库中的数据进行操作,如插入、更新和删除数据等。常用的 DML命令包括:INSERT、UPDATE、......
  • 无涯教程-D语言 - 范围(Ranges)
    范围range是元素访问的抽象,范围强调如何访问容器元素,而不是如何实现容器。Numberranges数字范围是非常常用,这些数字范围是int类型的,下面是一些数字范围的示例-//示例1foreach(value;3..7)//示例2int[]slice=array[5..10];PhobosRanges与结构和类接口有关的范围是......
  • 熟悉编程语言
    编程语言top50这50种编程语言的编程泛型命令式编程语言C、C++、Java、C#、JavaScript、PHP、VisualBasic、Assemblylanguage、Go、Delphi/ObjectPascal、Swift、Rust、COBOL、ClassicVisualBasic、SAS、(Visual)FoxPro、Ada、D、Transact-SQL、Lua、Objective-C、Da......