Godot 4.0 文件读取(C#)

2023-06-20,,

搞半天才弄明白Godot文件操作。

Godot的文档总是试图让我使用自定义Resource来支持文件操作,但是我只需要读取纯文本。

读取纯文本

读取纯文本的方式如下:

//Godot.FileAccess这个类和C#自带的类名称一致,有时需要指定别名。
using FileAcc = Godot.FileAccess; string ReadAll(string path)
{
//path是Godot管理下的文件路径,如 "res://myfolder/myfile.txt"
using var fl = FileAcc.Open(path, FileAcc.ModeFlags.Read);
if (fl == null)
{
var err = FileAcc.GetOpenError();
GD.Print(err);
}
return fl.GetAsText();
}

关于文件路径的约定,参考

https://docs.godotengine.org/en/stable/tutorials/io/data_paths.html

逐行读取

如果需要逐行读取,根据Godot自带的注释得知,应该这样写

while (fl.GetPosition() < fl.GetLength())
{
tststr = fl.GetLine();
}

注意事项

写入纯文本的方式类似,但是需要注意项目输出后就不能写入res://目录下的内容了。

user://目录下的内容总是可读可写的。

输出项目时,可能一些文件会被忽略而不会存在于最终的程序中。

需要在导出项目时注意配置:

参考

https://docs.godotengine.org/en/stable/tutorials/io/saving_games.html#

Godot 4.0 文件读取(C#)的相关教程结束。

《Godot 4.0 文件读取(C#).doc》

下载本文的Word格式文档,以方便收藏与打印。