UE4操作文件执行,读写,以及增删改查

本文介绍了一个用于UE4的游戏开发插件,该插件提供了一系列实用的功能来帮助开发者进行文件读写、查找、移动、删除及文件夹的创建与删除等操作。通过简单的蓝图调用,可以轻松实现对本地文件的管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

github地址:
https://github.com/zgChihiro/FileHandleFromUE4Plugin

UE4对本地文件的操作

这里写图片描述

首先是文件的读写

.h

	UFUNCTION(BlueprintCallable, Category = "File operation")
		static FString ReadStringToFile(FString Dir);

	UFUNCTION(BlueprintCallable, Category = "File operation")
		static void WriteStringToFile(FString FileName, FString content);

.cpp

FString ACPP_Test::ReadStringToFile(FString Dir)
{
	FString Result;
	FFileHelper::LoadFileToString(Result, *Dir);
	return Result;
}

void ACPP_Test::WriteStringToFile(FString FileName, FString content)
{
	FFileHelper::SaveStringToFile(content, *FileName);
}

查找文件或者文件夹

#include "Runtime/Core/Public/HAL/FileManagerGeneric.h"

.h

	UFUNCTION(BlueprintCallable, Category = "File operation")
		static TArray<FString> FindFiles(FString Path, FString Filter, bool Files, bool Directory);

.cpp

TArray<FString> ACPP_Test::FindFiles(FString Path, FString Filter, bool Files, bool Directory)
{
	TArray<FString> FilePathList;
	FilePathList.Empty();    
	FFileManagerGeneric::Get().FindFilesRecursive(FilePathList, *Path, *Filter, Files, Directory);
	return FilePathList;
}

指定文件移动到某处(修改文件路径)

#include "Runtime/Core/Public/HAL/FileManagerGeneric.h"

.h

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

.cpp

bool ACPP_Test::MoveFileTo(FString To, FString From)
{
	return IFileManager::Get().Move(*To, *From);
}

删除指定文件

#include "Runtime/Core/Public/HAL/FileManagerGeneric.h"

.h

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

.cpp

bool ACPP_Test::DeleteFile(FString FilePath)
{
	return IFileManager::Get().Delete(*FilePath);
}

打开指定文件

#include "Runtime/Core/Public/HAL/FileManagerGeneric.h"

.h

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

.cpp

void ACPP_Test::OpenFile(FString FilePath)
{
	FPlatformProcess::CreateProc(*FilePath, nullptr, true, false, false, nullptr, 0, nullptr, nullptr);
}

创建文件夹

.h

	UFUNCTION(BlueprintCallable, Category = "File operation")
		static void CreateDic(FString filePath);

.cpp

void ACPP_Test::CreateDic(FString filePath)
{
	IPlatformFile& PlatformFile = FPlatformFileManager::Get().GetPlatformFile();
	PlatformFile.CreateDirectory(*filePath);
}

删除文件夹

.h

UFUNCTION(BlueprintCallable, Category = "File operation")
		static void DeleteDic(FString filePath);

.cpp

void ACPP_Test::DeleteDic(FString filePath)
{
	IPlatformFile& PlatformFile = FPlatformFileManager::Get().GetPlatformFile();
	PlatformFile.DeleteDirectory(*filePath);
}
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值