UE5 c++ 的文件操作(记录备忘)

函数库.h

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "Microsoft/AllowMicrosoftPlatformTypes.h"
#include "FileWriteAndRead.generated.h"

/**
 * 
 */
UCLASS()
class SPLINECPP_API UFileWriteAndRead : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()

	UFUNCTION(BlueprintCallable,Category = "FileWriteAndRead")
	static FString ReadFromFile(FString Dir);

	UFUNCTION(BlueprintCallable,Category = "FileWriteAndRead")
	static void WriteToFile(FString FileName,FString content);

	UFUNCTION(BlueprintCallable,Category = "FileWriteAndRead")
	static TArray<FString> FindFiles(FString Patch,FString Filter,bool Files,bool Directory);

	UFUNCTION(BlueprintCallable,Category = "FileWriteAndRead")
	static bool MoveFileTo(FString To,FString From);

	UFUNCTION(BlueprintCallable,Category = "FileWriteAndRead")
	static bool DeleteFile(FString FilePath);

	UFUNCTION(BlueprintCallable,Category = "FileWriteAndRead")
	static void OpenFile(FString FilePath);

	UFUNCTION(BlueprintCallable,Category = "FileWriteAndRead")
	static void CreateDir(FString FilePath);

	UFUNCTION(BlueprintCallable,Category = "FileWriteAndRead")
	static void DeleteDic(FString FilePath);
	
};

函数库.cpp

// Fill out your copyright notice in the Description page of Project Settings.


#include "FileWriteAndRead.h"
#include "HAL/FileManagerGeneric.h"


FString UFileWriteAndRead::ReadFromFile(FString Dir)
{
	FString Result;
	FFileHelper::LoadFileToString(Result,*(FPaths::ProjectDir()+Dir));
	return Result;
}

void UFileWriteAndRead::WriteToFile(FString FileName, FString content)
{
	FFileHelper::SaveStringToFile(content,*(FPaths::ProjectDir()+FileName));
}

//查找文件或文件夹
TArray<FString> UFileWriteAndRead::FindFiles(FString Patch, FString Filter, bool Files, bool Directory)
{
	TArray<FString> FilePathList;
	FilePathList.Empty();
	FFileManagerGeneric::Get().FindFilesRecursive(FilePathList,*Patch,*Filter,Files,Directory);
	return FilePathList;
}

//移动文件到其他位置
bool UFileWriteAndRead::MoveFileTo(FString To, FString From)
{
	return IFileManager::Get().Move(*To,*From);
}

//删除文件
bool UFileWriteAndRead::DeleteFile(FString FilePath)
{
	return IFileManager::Get().Delete(*FilePath);
}

//打开文件
void UFileWriteAndRead::OpenFile(FString FilePath)
{
	FPlatformProcess::CreateProc(*(FPaths::ProjectDir()+FilePath),nullptr,true,false,false,nullptr,0,nullptr,nullptr);
}

//新建文件夹
void UFileWriteAndRead::CreateDir(FString FilePath)
{
	IPlatformFile& PlatformFile = FPlatformFileManager::Get().GetPlatformFile();
}

//删除文件夹
void UFileWriteAndRead::DeleteDic(FString FilePath)
{
	IPlatformFile& PlatformFile = FPlatformFileManager::Get().GetPlatformFile();
	PlatformFile.DeleteDirectory(*FilePath);
}



 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我救我自己

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值