UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FileHelper.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
11#include "CoreTypes.h"
12#include "HAL/FileManager.h"
13#include "HAL/PlatformCrt.h"
14#include "Math/Color.h"
15#include "Math/MathFwd.h"
16#include "Memory/MemoryFwd.h"
17#include "Misc/EnumClassFlags.h"
19
20class FArchive;
21class FText;
22class IPlatformFile;
23template <typename FuncType> class TFunctionRef;
24
25/*-----------------------------------------------------------------------------
26 FFileHelper
27-----------------------------------------------------------------------------*/
29{
30 enum class EHashOptions
31 {
32 None =0,
34 EnableVerify =1<<0,
37 };
38
47
48 enum class EColorChannel
49 {
50 R,
51 G,
52 B,
53 A,
54 All
55 };
56
61 static CORE_API void BufferToString( FString& Result, const uint8* Buffer, int32 Size );
62
70 static CORE_API bool LoadFileToArray( TArray<uint8>& Result, const TCHAR* Filename, uint32 Flags = 0 );
71
79 static CORE_API bool LoadFileToArray( TArray64<uint8>& Result, const TCHAR* Filename, uint32 Flags = 0 );
80
104 int64 Offset = 0, int64 Size = -1, uint32 Flags = 0, int64 BlockSize = 0);
112 static CORE_API bool LoadFileToString(FString& Result, FArchive& Reader, EHashOptions VerifyFlags = EHashOptions::None);
113
121 static CORE_API bool LoadFileToString( FString& Result, const TCHAR* Filename, EHashOptions VerifyFlags = EHashOptions::None, uint32 ReadFlags = 0 );
122
131 static CORE_API bool LoadFileToString(FString& Result, IPlatformFile* PlatformFile, const TCHAR* Filename, EHashOptions VerifyFlags = EHashOptions::None, uint32 ReadFlags = 0);
132
139 static CORE_API bool LoadFileToStringArray( TArray<FString>& Result, const TCHAR* Filename );
140
141 UE_DEPRECATED(4.26, "LoadFileToStringArray no longer supports VerifyFlags. You can use UE::String::ParseLines to split up a string loaded with LoadFileToString")
142 static CORE_API bool LoadFileToStringArray(TArray<FString>& Result, const TCHAR* Filename, EHashOptions VerifyFlags);
143
151 static CORE_API bool LoadFileToStringArrayWithPredicate(TArray<FString>& Result, const TCHAR* Filename, TFunctionRef<bool(const FString&)> Predicate);
152
154 static CORE_API bool LoadFileToStringArrayWithPredicate(TArray<FString>& Result, const TCHAR* Filename, TFunctionRef<bool(const FString&)> Predicate, EHashOptions VerifyFlags);
155
163
167 static CORE_API bool SaveArrayToFile(TArrayView64<const uint8> Array, const TCHAR* Filename, IFileManager* FileManager = &IFileManager::Get(), uint32 WriteFlags = 0);
168
172 static CORE_API bool SaveArrayToFile( const TArray64<uint8>& Array, const TCHAR* Filename, IFileManager* FileManager = &IFileManager::Get(), uint32 WriteFlags = 0 );
173
179
184 static CORE_API bool SaveStringArrayToFile( const TArray<FString>& Lines, const TCHAR* Filename, EEncodingOptions EncodingOptions = EEncodingOptions::AutoDetect, IFileManager* FileManager = &IFileManager::Get(), uint32 WriteFlags = 0 );
185
208
219 static CORE_API bool GenerateNextBitmapFilename(const FString& Pattern, const FString& Extension, FString& OutFilename, IFileManager* FileManager = &IFileManager::Get());
220
230 static CORE_API void GenerateDateTimeBasedBitmapFilename(const FString& Pattern, const FString& Extension, FString& OutFilename);
231
243
251 static CORE_API bool IsFilenameValidForSaving(const FString& Filename, FText& OutError);
252
253 enum class UE_DEPRECATED(5.0, "EChannelMask has been deprecated in favor of EColorChannel") EChannelMask
254 {
259 All = R | G | B | A
260 };
261
263 UE_DEPRECATED(5.0, "EChannelMask has been deprecated in favor of EColorChannel, please use the other CreateBitmap() method.")
264 static CORE_API bool CreateBitmap(const TCHAR* Pattern, int32 DataWidth, int32 DataHeight, const struct FColor* Data, FIntRect* SubRectangle, IFileManager* FileManager, FString* OutFilename, bool bInWriteAlpha, EChannelMask ChannelMask);
266};
267
#define NULL
Definition oodle2base.h:134
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
#define STRUCT_OFFSET(struc, member)
Definition UnrealTemplate.h:218
uint32 Offset
Definition VulkanMemory.cpp:4033
uint32 Size
Definition VulkanMemory.cpp:4034
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition Text.h:385
Definition FileManager.h:57
Definition GenericPlatformFile.h:342
Definition Array.h:670
Definition AssetRegistryState.h:50
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
Definition Color.h:486
Definition FileHelper.h:29
static CORE_API bool GenerateNextBitmapFilename(const FString &Pattern, const FString &Extension, FString &OutFilename, IFileManager *FileManager=&IFileManager::Get())
Definition FileHelper.cpp:755
static CORE_API bool LoadFileToStringArray(TArray< FString > &Result, const TCHAR *Filename)
Definition FileHelper.cpp:302
static CORE_API bool CreateBitmap(const TCHAR *Pattern, int32 DataWidth, int32 DataHeight, const struct FColor *Data, FIntRect *SubRectangle=NULL, IFileManager *FileManager=&IFileManager::Get(), FString *OutFilename=NULL, bool bInWriteAlpha=false, EColorChannel ColorChannel=EColorChannel::All)
static CORE_API bool LoadFileInBlocks(FStringView Filename, TFunctionRef< void(FMemoryView)> BlockVisitor, int64 Offset=0, int64 Size=-1, uint32 Flags=0, int64 BlockSize=0)
Definition FileHelper.cpp:98
EColorChannel
Definition FileHelper.h:49
EEncodingOptions
Definition FileHelper.h:40
static CORE_API bool SaveStringArrayToFile(const TArray< FString > &Lines, const TCHAR *Filename, EEncodingOptions EncodingOptions=EEncodingOptions::AutoDetect, IFileManager *FileManager=&IFileManager::Get(), uint32 WriteFlags=0)
Definition FileHelper.cpp:725
EHashOptions
Definition FileHelper.h:31
static CORE_API bool LoadFileToString(FString &Result, FArchive &Reader, EHashOptions VerifyFlags=EHashOptions::None)
Definition FileHelper.cpp:202
static CORE_API bool LoadFileToArray(TArray< uint8 > &Result, const TCHAR *Filename, uint32 Flags=0)
Definition FileHelper.cpp:39
static CORE_API bool SaveArrayToFile(TArrayView64< const uint8 > Array, const TCHAR *Filename, IFileManager *FileManager=&IFileManager::Get(), uint32 WriteFlags=0)
Definition FileHelper.cpp:632
static CORE_API bool LoadFileToStringWithLineVisitor(const TCHAR *Filename, TFunctionRef< void(FStringView Line)> Visitor)
Definition FileHelper.cpp:566
static CORE_API bool IsFilenameValidForSaving(const FString &Filename, FText &OutError)
Definition FileHelper.cpp:1139
static CORE_API bool LoadFileToStringArrayWithPredicate(TArray< FString > &Result, const TCHAR *Filename, TFunctionRef< bool(const FString &)> Predicate)
Definition FileHelper.cpp:313
static CORE_API bool LoadANSITextFileToStrings(const TCHAR *InFilename, IFileManager *InFileManager, TArray< FString > &OutStrings)
Definition FileHelper.cpp:1062
static CORE_API void BufferToString(FString &Result, const uint8 *Buffer, int32 Size)
Definition FileHelper.cpp:143
static CORE_API bool SaveStringToFile(FStringView String, const TCHAR *Filename, EEncodingOptions EncodingOptions=EEncodingOptions::AutoDetect, IFileManager *FileManager=&IFileManager::Get(), uint32 WriteFlags=0)
Definition FileHelper.cpp:669
static CORE_API void GenerateDateTimeBasedBitmapFilename(const FString &Pattern, const FString &Extension, FString &OutFilename)
Definition FileHelper.cpp:801