三个简单实用功能:
1.读取本地txt内容为string
2.读取本地txt内容为string类型array
3.存储string类型array到本地txt
第一步
在目录下直接右键或者像图中一样构建c++类。(没有Public文件夹没事,建完就有了)
在这里我取名为BFL_ReadWrite
第二步
这里不要全复制,对比一下,保留自己新建类中原始内容,把这里多的粘贴进去,否则会出错。
打开后.h文件中写:
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "BFL_ReadWrite.generated.h"
UCLASS()
class YOUR_API UBFL_ReadWrite : public UBlueprintFunctionLibrary
{//这里是自己的项目名
GENERATED_BODY()
UFUNCTION(BlueprintCallable)
static bool SaveTextArray(FString Directory, FString FileName, TArray<FString> TextArray, bool OverWrite);
UFUNCTION(BlueprintCallable)
static TArray<FString> Read2Array(FString Directory, FString FileName);
UFUNCTION(BlueprintCallable)
static FString Read2String(FString Directory, FString FileName);
};
.cpp文件中写:
// Fill out your copyright notice in the Description page of Project Settings.
#include "BFL_ReadWrite.h"
#include "HAL/PlatformFilemanager.h"
#include "Misc/FileHelper.h"
bool UBFL_ReadWrite::SaveTextArray(FString Directory, FString FileName, TArray<FString> TextArray, bool OverWrite)
{
Directory += "//";
Directory += FileName;
if (!OverWrite) {
if (FPlatformFileManager::Get().GetPlatformFile().FileExists(*Directory)) {
return false;
}
}
return FFileHelper::SaveStringArrayToFile(TextArray, *Directory);
}
TArray<FString> UBFL_ReadWrite::Read2Array(FString Directory, FString FileName)
{
Directory += "//";
Directory += FileName;
TArray<FString> Result;
FFileHelper::LoadFileToStringArray(Result, *Directory);
return Result;
}
FString UBFL_ReadWrite::Read2String(FString Directory, FString FileName)
{
Directory += "//";
Directory += FileName;
FString Result;
FFileHelper::LoadFileToString(Result, *Directory);
return Result;
}
编译完了就能在蓝图用了