Godot 4.0 文件读取(C#)
搞半天才弄明白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#
作者:qiiimiu
出处:https://www.cnblogs.com/qiiimiu/p/17347078.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通