UE4-【C++】【打包NonUASSET文件并加载】
https://blog.csdn.net/yuxikuo_1/article/details/103981774
使用自定义IO操作,将目标文件(txt)放在Content
1.设置附加打包目录
void UMyBlueprintFunctionLibrary::ExecuteTestCode(const FString &InPaksDir)
{
UMyBlueprintFunctionLibrary::ShowGameDir();
FString read_str;
bool is_load = UMyBlueprintFunctionLibrary::LoadTxt("Datas/TbHero.txt", read_str);
if (is_load)
{
UE_LOG(LogTemp, Log, TEXT("read_str = %s"), *read_str);
}
return;
FString PaksDir = InPaksDir;
FPaths::MakeStandardFilename(PaksDir);
UE_LOG(LogMyBPLibrary, Log, TEXT("ExecuteTestCode InPaksDir: %s"), *PaksDir);
{
FMyFileVisitor MyFileVisitor;
FPlatformFileManager::Get().GetPlatformFile().IterateDirectoryRecursively(*PaksDir, MyFileVisitor);
for (auto &f : MyFileVisitor.Files)
{
if (FPaths::GetExtension(f) == "pak")
{
UE_LOG(LogMyBPLibrary, Log, TEXT("Find and mount pak file: %s"), *f);
GetPakPlatformFile()->Mount(*f, 0);
}
}
}
}
bool UMyBlueprintFunctionLibrary::LoadTxt(FString FileNameA, FString& SaveTextA)
{
const FString ThePath = FPaths::ConvertRelativePathToFull(FPaths::GameContentDir());
UE_LOG(LogTemp, Log, TEXT("TbHero Path = %s"), *(ThePath + FileNameA));
return FFileHelper::LoadFileToString(SaveTextA, *(ThePath + FileNameA));
}
bool UMyBlueprintFunctionLibrary::SaveTxt(FString SaveTextB, FString FileNameB)
{
return FFileHelper::SaveStringToFile(SaveTextB, *(FPaths::GameDir() + FileNameB));
}
点赞
收藏
分享
————————————————
版权声明:本文为CSDN博主「little_two_two」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuxikuo_1/article/details/103981774