//操作文件
//读取文件、写入文件 相当于复制粘贴
TArray<uint8> testarr;
FFileHelper::LoadFileToArray(testarr,*entirePath);
FFileHelper::SaveArrayToFile(testarr, *savePath);
//判断文件是否存在
bool isFind = FPlatformFileManager::Get().GetPlatformFile().FileExists(*filePath);
//移动文件,相当于剪切
if (!FPlatformFileManager::Get().GetPlatformFile().MoveFile(*to, *from)){
UE_LOG(LogTemp, Warning, TEXT("could not move file"));
}
//创建新文件夹,其实新建文件直接写在路径下就可以
FPlatformFileManager::Get().GetPlatformFile().CreateDirectoryTree(*newFolderPath);
//生成新文本文件,键值对
FString matParam;
TArray<FString> keyValuePairs;
keyValuePairs.Add(TEXT("using"));
keyValuePairs.Add(name);
for (int32 p = 0; p < keyValuePairs.Num(); p += 2) {
matParam.Append(FString::Printf(TEXT("%s"), *(keyValuePairs[p])));
matParam.Append(FString::Printf(TEXT(":")));
matParam.Append(FString::Printf(TEXT("%s"), *(keyValuePairs[p + 1])));
matParam.Append(FString::Printf(TEXT("\r\n")));
}
FString newPath = TEXT("F:/Json/folder/") + objFileNameArray[i]+TEXT("/")+newName;
FFileHelper::SaveStringToFile(matParam, *newPath);
//JSON相关
//解析json文件 参数jsonParsed必须是引用& 返回bool
FString stringForJson;
FFileHelper::LoadFileToString(stringForJson, *jsonPath);
TSharedRef<TJsonReader<TCHAR>> jsonReader
==TJsonReaderFactory<TCHAR>::Create(stringForJson);
bool flag = FJsonSerializer::Deserialize(jsonReader, jsonParsed);
//解析json内部
TArray<TSharedPtr<FJsonValue>> materialSec = jsonParsed->GetArrayField(TEXT("material"));
for(){
TSharedPtr<FJsonValue> currentValue = materialSec[k];
TSharedPtr<FJsonObject> materialObj = currentValue->AsObject();
}
//格式拼写 格式
//路径拼写
FString texPath = TEXT("F:/Json/folder/") + objFileNameArray[i] + TEXT("/") + newMainName;
//FString::Printf(TEXT("Component%d"),ComponentNameIndex);
//回车
\r\n