【UE4 C++】读取/写入TXT文本&根据路径加载资源

 一、TXT文本读取/写入

1. 创建继承自蓝图函数库的基类

2. 头文件中创建暴露给蓝图的函数

public:
	UFUNCTION(BlueprintCallable, Category = "HandleTXT")
		static TArray<FString> ReadTxtFromPath(FString TxtPath);

3. Cpp文件中添加读取/写入代码

#include "HandleTXT.h"
#include "HAL/PlatformFilemanager.h"
#include "FileHelper.h"

TArray<FString> UHandleTXT::ReadTxtFromPath(FString TxtPath)
{
	TArray<FString>OutArray;
	FString TxtStream;//文本流

	//查找文本是否存在
	if (!FPlatformFileManager::Get().GetPlatformFile().FileExists(*TxtPath))
	{
		FString str = TxtPath + "文件不存在!";
		UE_LOG(LogTemp, Warning, TEXT("%s,文件不存在!"), *str);
		return OutArray;
	}

	//读取文本
	FFileHelper::LoadFileToString(TxtStream, *TxtPath);
	//写入文本
	//FFileHelper::SaveStringToFile(TxtStream, *TxtPath);

	//
UE4中使用Json文件进行数据的读取写入相对比较简单。下面将以C++代码为例说明: 1. 读取Json文件: 首先需要引入Json库的头文件: ```cpp #include &quot;Json.h&quot; #include &quot;JsonUtilities.h&quot; ``` 然后使用FFileHelper::LoadFileToString函数来将Json文件加载为字符串: ```cpp FString JsonStr; FFileHelper::LoadFileToString(JsonStr, TEXT(&quot;文件路径&quot;)); ``` 接下来使用FJsonUtilities::JsonStringToValue函数将字符串转化为Json对象: ```cpp TSharedPtr&lt;FJsonObject&gt; JsonObj; TSharedRef&lt;TJsonReader&lt;TCHAR&gt;&gt; JsonReader = TJsonReaderFactory&lt;TCHAR&gt;::Create(JsonStr); if (FJsonSerializer::Deserialize(JsonReader, JsonObj)) { // 读取Json对象中的数据 // 例如:JsonObj-&gt;GetStringField(&quot;字段名称&quot;) 获取字符串字段的值 } ``` 2. 写入Json文件: 创建一个Json对象,并给它赋值: ```cpp TSharedPtr&lt;FJsonObject&gt; JsonObj = MakeShareable(new FJsonObject); JsonObj-&gt;SetStringField(&quot;字段名称&quot;, &quot;字段值&quot;); ``` 将Json对象序列化为字符串: ```cpp FString JsonStr; TSharedRef&lt;TJsonWriter&lt;TCHAR&gt;&gt; JsonWriter = TJsonWriterFactory&lt;TCHAR&gt;::Create(&amp;JsonStr); FJsonSerializer::Serialize(JsonObj.ToSharedRef(), JsonWriter); JsonWriter-&gt;Close(); ``` 使用FFileHelper::SaveStringToFile函数将字符串写入到文件: ```cpp FFileHelper::SaveStringToFile(JsonStr, TEXT(&quot;文件路径&quot;)); ``` 以上就是使用UE4进行Json文件的读取写入的简单步骤。根据具体需求,你可以根据Json的对象结构和字段类型进行相应的数据读取写入操作。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值