在游戏开发过程中,一定会和各种配置表格打交道,我现在的项目用的是Unicode编码的txt文件,策划平时编辑excel,然后导出为txt文件。
UE4有好几个函数可以读取文本文件,比如LoadFileToString、LoadFileToStringArray等。
我开始用的LoadFileToStringArray函数,将文件读入到一个FString数组中,然后再进行二次扫描,解析具体的每行每列的数据。后来发现这个方法效率比较低下,因为我发现LoadFileToStringArray函数里面也是先调用了LoadFileToString函数,然后进行一次全部扫描,分割为行数组。如果我用LoadFileToStringArray的话,加上这个函数内部的扫描,相当于进行了两次扫描,而如果直接用LoadFileToString函数读取数据再扫描的话,则只进行了一次扫描,效率提高了一倍,于是我最终采用了LoadFileToString直接读取,然后自己在代码中进行换行的判断。