CoreMisc.h

读取

FFileHelper::LoadFileToString

  • 读取全部内容,存到 FString

    FString TextPath = FPaths::ProjectDir() + TEXT("DataDrive/Dialogue.txt");
    TextPath = FPaths::ConvertRelativePathToFull(TextPath);
    if (FPlatformFileManager::Get().GetPlatformFile().FileExists(*TextPath))
    {
    FString TextData;
    FFileHelper::LoadFileToString(TextData, *TextPath);
    UE_LOG(LogTemp, Warning,TEXT("%s"), *TextData);
    }

FFileHelper::LoadFileToStringArray

  • 读读取全部内容,存到 TArray中,每个元素代表一行

    FString TextPath = FPaths::ProjectDir() + TEXT("DataDrive/Dialogue.txt");
    TextPath = FPaths::ConvertRelativePathToFull(TextPath);
    if (FPlatformFileManager::Get().GetPlatformFile().FileExists(*TextPath))
    {
    TArray<FString> TextData;
    FFileHelper::LoadFileToStringArray(TextData, *TextPath);
    int32 line = 0;
    for (FString lineContent : TextData)
    {
    UE_LOG(LogTemp, Warning, TEXT("[line %d] %s"), ++line, *lineContent);
    }
    }

写入

SaveStringToFile

  • 字符串写入文件,需要手动嘉 \n 换行

  • 注意字符编码

  • 注意WriteFlags,参考下面 EFileWrite 枚举

  • Syntax

    enum EFileWrite
    {
    FILEWRITE_NoFail = 0x01,
    FILEWRITE_NoReplaceExisting = 0x02,
    FILEWRITE_EvenIfReadOnly = 0x04,
    FILEWRITE_Append = 0x08,
    FILEWRITE_AllowRead = 0x10
    }; bool FFileHelper::SaveStringToFile( FStringView String, const TCHAR* Filename, EEncodingOptions EncodingOptions, IFileManager* FileManager /*= &IFileManager::Get()*/, uint32 WriteFlags )
  • 代码实现

    FString TextContent = TEXT("明知无法战胜,明知毫无意义,但还是持续挑战着的姿态,那正是我的过错。----英灵卫宫 \n");
    FFileHelper::SaveStringToFile(TextContent, *TextPath, FFileHelper::EEncodingOptions::ForceUTF8, &IFileManager::Get(), EFileWrite::FILEWRITE_Append); TextContent = TEXT("束缚于肉体中的你们,永远无法满足 ----吉尔伽美什 \n");
    FFileHelper::SaveStringToFile(TextContent, *TextPath, FFileHelper::EEncodingOptions::ForceUTF8, &IFileManager::Get(), EFileWrite::FILEWRITE_Append);
  • 支持导出CSV

    UserInfoDataTable = LoadObject<UDataTable>(this, TEXT("DataTable'/Game/CPPFunction/DataDrive/DT_UserInfo.DT_UserInfo'"));
    if (UserInfoDataTable)
    {
    FString CSVString = UserInfoDataTable->GetTableAsCSV();
    FString CSVPath = FPaths::ProjectDir() + TEXT("DataDrive/UserInfo2.csv");
    FFileHelper::SaveStringToFile(CSVString, *CSVPath, FFileHelper::EEncodingOptions::ForceUTF8);
    }

SaveStringArrayToFile

  • 字符串数组写入文件,自动换行

  • 如果保存中文乱码,点击高级保存为UTF8格式

  • Syntax

    bool FFileHelper::SaveStringArrayToFile( const TArray<FString>& Lines, const TCHAR* Filename, EEncodingOptions EncodingOptions, IFileManager* FileManager, uint32 WriteFlags )
  • 代码实现

    FString TextPath = FPaths::ProjectDir() + TEXT("DataDrive/FateNight.txt");
    TextPath = FPaths::ConvertRelativePathToFull(TextPath);
    TArray<FString> TextLines;
    TextLines.Add(TEXT("钢铁为身,而火焰为血。"));
    TextLines.Add(TEXT("手制之剑已达千余,纵横无数战场而不败。"));
    TextLines.Add(TEXT("不知生。"));
    TextLines.Add(TEXT("亦不知死。"));
    TextLines.Add(TEXT("未曾一次败退。"));
    TextLines.Add(TEXT("常独自一人立于剑丘之巅独醉于胜利中。"));
    TextLines.Add(TEXT("然而 留下的只有虚无。"));
    TextLines.Add(TEXT("故此 此生已无意义。"));
    TextLines.Add(TEXT("则此躯 注定为剑而生。"));
    TextLines.Add(TEXT("故我祈求——无限之剑制(Unlimited Blade Works)"));
    FFileHelper::SaveStringArrayToFile(TextLines, *TextPath,FFileHelper::EEncodingOptions::ForceUTF8);

最新文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解
  2. golang print struct with key
  3. 用jquery编写的tab插件
  4. 《深入理解Nginx》阅读与实践(四):简单的HTTP过滤模块
  5. 那些OVER的封装
  6. Codeforces Round #195 (Div. 2) D题Vasily the Bear and Beautiful Strings
  7. EventHandler委托与自定义委托
  8. Postgresql 存储过程调试 1
  9. linux连接静态库
  10. Binder机制
  11. git log
  12. js选中checkbox赋值给文本框
  13. android ScrollView 充满屏幕
  14. HDU_2055——刷题不要使用fflush()
  15. v4l2采集视频和图片源码
  16. Javascript和jQuery WordPress 图片轮播插件, 内容滚动插件,前后切换幻灯片形式显示
  17. PHP - 目录与文件
  18. Oracle中四种循环(GOTO、For、While、Loop)
  19. html5 -----audio标签
  20. Markdown使用简单示例

热门文章

  1. 源码编译安装nginx及设置开机启动项
  2. DorisDB升级为StarRocks,全面开源!
  3. JDK1.8源码(五)——java.util.Vector类
  4. MFGTool2 的使用
  5. Python - //和/的区别
  6. JS021. 拦截事件的显式处理与默认动作(Web API: event.preventDefault)
  7. 依赖注入Bean属性——手动装配Bean
  8. CodeForce-808C Tea Party(结构体排序贪心)
  9. CodeForce-812B Sagheer, the Hausmeister(DFS)
  10. 【PHP数据结构】在学数据结构和算法的时候我们究竟学的是啥?