UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FIOSPlatformFile Class Reference

#include <IOSPlatformFile.h>

+ Inheritance diagram for FIOSPlatformFile:

Public Member Functions

 FIOSPlatformFile ()
 
virtual bool FileExists (const TCHAR *Filename) override
 
virtual int64 FileSize (const TCHAR *Filename) override
 
virtual bool DeleteFile (const TCHAR *Filename) override
 
virtual bool IsReadOnly (const TCHAR *Filename) override
 
virtual bool MoveFile (const TCHAR *To, const TCHAR *From) override
 
virtual bool SetReadOnly (const TCHAR *Filename, bool bNewReadOnlyValue) override
 
virtual FDateTime GetTimeStamp (const TCHAR *Filename) override
 
virtual void SetTimeStamp (const TCHAR *Filename, const FDateTime DateTime) override
 
virtual FDateTime GetAccessTimeStamp (const TCHAR *Filename) override
 
virtual FString GetFilenameOnDisk (const TCHAR *Filename) override
 
virtual FString ConvertToAbsolutePathForExternalAppForRead (const TCHAR *Filename) override
 
virtual FString ConvertToAbsolutePathForExternalAppForWrite (const TCHAR *Filename) override
 
virtual FFileStatData GetStatData (const TCHAR *FilenameOrDirectory) override
 
virtual IFileHandleOpenRead (const TCHAR *Filename, bool bAllowWrite=false) override
 
virtual IFileHandleOpenWrite (const TCHAR *Filename, bool bAppend=false, bool bAllowRead=false) override
 
virtual bool DirectoryExists (const TCHAR *Directory) override
 
virtual bool CreateDirectory (const TCHAR *Directory) override
 
virtual bool DeleteDirectory (const TCHAR *Directory) override
 
virtual bool IterateDirectory (const TCHAR *Directory, FDirectoryVisitor &Visitor) override
 
virtual bool IterateDirectoryStat (const TCHAR *Directory, FDirectoryStatVisitor &Visitor) override
 
virtual bool DoesCreatePublicFiles () override
 
virtual void SetCreatePublicFiles (bool bCreatePublicFilesIn) override
 
- Public Member Functions inherited from FApplePlatformFile
virtual ESymlinkResult IsSymlink (const TCHAR *Filename) override
 
virtual FOpenMappedResult OpenMappedEx (const TCHAR *Filename, EOpenReadFlags OpenOptions=EOpenReadFlags::None, int64 MaximumSize=0) override
 
virtual bool CopyFile (const TCHAR *To, const TCHAR *From, EPlatformFileRead ReadFlags=EPlatformFileRead::None, EPlatformFileWrite WriteFlags=EPlatformFileWrite::None) override
 
- Public Member Functions inherited from IPhysicalPlatformFile
virtual bool ShouldBeUsed (IPlatformFile *Inner, const TCHAR *CmdLine) const override
 
virtual CORE_API bool Initialize (IPlatformFile *Inner, const TCHAR *CmdLine) override
 
virtual IPlatformFileGetLowerLevel () override
 
virtual void SetLowerLevel (IPlatformFile *NewLowerLevel) override
 
virtual const TCHARGetName () const override
 
- Public Member Functions inherited from IPlatformFile
CORE_API IPlatformFile ()
 
virtual CORE_API ~IPlatformFile ()
 
virtual void SetSandboxEnabled (bool bInEnabled)
 
virtual bool IsSandboxEnabled () const
 
virtual void InitializeAfterSetActive ()
 
virtual void InitializeAfterProjectFilePath ()
 
virtual void MakeUniquePakFilesForTheseFiles (const TArray< TArray< FString > > &InFiles)
 
virtual void InitializeNewAsyncIO ()
 
virtual void AddLocalDirectories (TArray< FString > &LocalDirectories)
 
virtual void BypassSecurity (bool bInBypass)
 
virtual void Tick ()
 
virtual bool DeleteFiles (const TArrayView< const TCHAR * > &Filenames)
 
virtual bool HasMarkOfTheWeb (FStringView Filename, FString *OutSourceURL=nullptr)
 
virtual bool SetMarkOfTheWeb (FStringView Filename, bool bNewStatus, const FString *InSourceURL=nullptr)
 
virtual CORE_API FFileOpenResult OpenRead (const TCHAR *Filename, EOpenReadFlags Flags)
 
virtual FFileOpenResult OpenReadNoBuffering (const TCHAR *Filename, EOpenReadFlags Flags)
 
virtual IFileHandleOpenReadNoBuffering (const TCHAR *Filename, bool bAllowWrite=false)
 
virtual CORE_API FFileOpenResult OpenWrite (const TCHAR *Filename, EOpenWriteFlags Flags)
 
virtual CORE_API bool FileJournalIsAvailable (const TCHAR *VolumeOrPath=nullptr, ELogVerbosity::Type *OutErrorLevel=nullptr, FString *OutError=nullptr)
 
virtual CORE_API uint64 FileJournalGetMaximumSize (const TCHAR *VolumeOrPath=nullptr, ELogVerbosity::Type *OutErrorLevel=nullptr, FString *OutError=nullptr) const
 
virtual CORE_API EFileJournalResult FileJournalGetLatestEntry (const TCHAR *VolumeName, FFileJournalId &OutJournalId, FFileJournalEntryHandle &OutEntryHandle, FString *OutError=nullptr)
 
virtual CORE_API bool FileJournalIterateDirectory (const TCHAR *Directory, FDirectoryJournalVisitorFunc Visitor, FString *OutError=nullptr)
 
virtual CORE_API FFileJournalData FileJournalGetFileData (const TCHAR *FilenameOrDirectory, FString *OutError=nullptr)
 
virtual CORE_API EFileJournalResult FileJournalReadModified (const TCHAR *VolumeName, const FFileJournalId &JournalIdOfStartingEntry, const FFileJournalEntryHandle &StartingJournalEntry, TMap< FFileJournalFileHandle, FString > &KnownDirectories, TSet< FString > &OutModifiedDirectories, FFileJournalEntryHandle &OutNextJournalEntry, FString *OutError=nullptr)
 
virtual CORE_API FString FileJournalGetVolumeName (FStringView InPath)
 
virtual CORE_API FFileOpenAsyncResult OpenAsyncRead (const TCHAR *Filename, EOpenReadFlags Flags)
 
virtual CORE_API IAsyncReadFileHandleOpenAsyncRead (const TCHAR *Filename, bool bAllowWrite=false)
 
virtual void SetAsyncMinimumPriority (EAsyncIOPriorityAndFlags MinPriority)
 
virtual CORE_API IMappedFileHandleOpenMapped (const TCHAR *Filename)
 
virtual CORE_API void GetTimeStampPair (const TCHAR *PathA, const TCHAR *PathB, FDateTime &OutTimeStampA, FDateTime &OutTimeStampB)
 
virtual CORE_API FDateTime GetTimeStampLocal (const TCHAR *Filename)
 
virtual CORE_API bool IterateDirectory (const TCHAR *Directory, FDirectoryVisitorFunc Visitor)
 
virtual CORE_API bool IterateDirectoryStat (const TCHAR *Directory, FDirectoryStatVisitorFunc Visitor)
 
virtual CORE_API bool IterateDirectoryRecursively (const TCHAR *Directory, FDirectoryVisitor &Visitor)
 
virtual CORE_API bool IterateDirectoryStatRecursively (const TCHAR *Directory, FDirectoryStatVisitor &Visitor)
 
virtual CORE_API bool IterateDirectoryRecursively (const TCHAR *Directory, FDirectoryVisitorFunc Visitor)
 
virtual CORE_API bool IterateDirectoryStatRecursively (const TCHAR *Directory, FDirectoryStatVisitorFunc Visitor)
 
virtual CORE_API void FindFiles (TArray< FString > &FoundFiles, const TCHAR *Directory, const TCHAR *FileExtension)
 
virtual CORE_API void FindFilesRecursively (TArray< FString > &FoundFiles, const TCHAR *Directory, const TCHAR *FileExtension)
 
virtual CORE_API bool DeleteDirectoryRecursively (const TCHAR *Directory)
 
virtual CORE_API bool CreateDirectoryTree (const TCHAR *Directory)
 
virtual CORE_API bool CopyDirectoryTree (const TCHAR *DestinationDirectory, const TCHAR *Source, bool bOverwriteAllExisting)
 
virtual bool SendMessageToServer (const TCHAR *Message, IFileServerMessageHandler *Handler)
 
virtual int64 GetAllowedBytesToWriteThrottledStorage (const TCHAR *DestinationPath=nullptr)
 

Protected Member Functions

virtual FString NormalizeFilename (const TCHAR *Filename)
 
virtual FString NormalizeDirectory (const TCHAR *Directory)
 

Additional Inherited Members

- Public Types inherited from IPlatformFile
enum class  EOpenReadFlags : uint8 { None = 0 , AllowWrite = 1 << 0 , AllowDelete = 1 << 1 , NoBuffering = 1 << 2 }
 
enum class  EOpenWriteFlags : uint8 { None = 0 , AllowRead = 1 << 0 , Append = 1 << 1 }
 
typedef TFunctionRef< bool(const TCHAR *, bool)> FDirectoryVisitorFunc
 
typedef TFunctionRef< bool(const TCHAR *, const FFileStatData &)> FDirectoryStatVisitorFunc
 
typedef TFunctionRef< bool(const TCHAR *, const FFileJournalData &)> FDirectoryJournalVisitorFunc
 
- Static Public Member Functions inherited from IPlatformFile
static CORE_API IPlatformFileGetPlatformPhysical ()
 
static CORE_API const TCHARGetPhysicalTypeName ()
 

Detailed Description

iOS File I/O implementation

Constructor & Destructor Documentation

◆ FIOSPlatformFile()

FIOSPlatformFile::FIOSPlatformFile ( )

Member Function Documentation

◆ ConvertToAbsolutePathForExternalAppForRead()

FString FIOSPlatformFile::ConvertToAbsolutePathForExternalAppForRead ( const TCHAR Filename)
overridevirtual

Converts passed in filename to use an absolute path (for reading).

Parameters
Filenamefilename to convert to use an absolute path, safe to pass in already using absolute path
Returns
filename using absolute path

Reimplemented from IPlatformFile.

◆ ConvertToAbsolutePathForExternalAppForWrite()

FString FIOSPlatformFile::ConvertToAbsolutePathForExternalAppForWrite ( const TCHAR Filename)
overridevirtual

Converts passed in filename to use an absolute path (for writing)

Parameters
Filenamefilename to convert to use an absolute path, safe to pass in already using absolute path
Returns
filename using absolute path

Reimplemented from IPlatformFile.

◆ CreateDirectory()

bool FIOSPlatformFile::CreateDirectory ( const TCHAR Directory)
overridevirtual

Create a directory and return true if the directory was created or already existed.

Reimplemented from FApplePlatformFile.

◆ DeleteDirectory()

bool FIOSPlatformFile::DeleteDirectory ( const TCHAR Directory)
overridevirtual

Delete a directory and return true if the directory was deleted or otherwise does not exist.

Reimplemented from FApplePlatformFile.

◆ DeleteFile()

bool FIOSPlatformFile::DeleteFile ( const TCHAR Filename)
overridevirtual

Delete a file and return true if the file exists. Will not delete read only files.

Reimplemented from FApplePlatformFile.

◆ DirectoryExists()

bool FIOSPlatformFile::DirectoryExists ( const TCHAR Directory)
overridevirtual

Return true if the directory exists.

Reimplemented from FApplePlatformFile.

◆ DoesCreatePublicFiles()

bool FIOSPlatformFile::DoesCreatePublicFiles ( )
overridevirtual

Checks to see if this file system creates publicly accessible files

Returns
true if this file system creates publicly accessible files

Reimplemented from IPlatformFile.

◆ FileExists()

bool FIOSPlatformFile::FileExists ( const TCHAR Filename)
overridevirtual

Return true if the file exists.

Reimplemented from FApplePlatformFile.

◆ FileSize()

int64 FIOSPlatformFile::FileSize ( const TCHAR Filename)
overridevirtual

Return the size of the file, or -1 if it doesn't exist.

Reimplemented from FApplePlatformFile.

◆ GetAccessTimeStamp()

FDateTime FIOSPlatformFile::GetAccessTimeStamp ( const TCHAR Filename)
overridevirtual

Return the last access time of a file. Returns FDateTime::MinValue() on failure

Reimplemented from FApplePlatformFile.

◆ GetFilenameOnDisk()

FString FIOSPlatformFile::GetFilenameOnDisk ( const TCHAR Filename)
overridevirtual

For case insensitive filesystems, returns the full path of the file with the same case as in the filesystem

Reimplemented from FApplePlatformFile.

◆ GetStatData()

FFileStatData FIOSPlatformFile::GetStatData ( const TCHAR FilenameOrDirectory)
overridevirtual

Return the stat data for the given file or directory. Check the FFileStatData::bIsValid member before using the returned data

Reimplemented from FApplePlatformFile.

◆ GetTimeStamp()

FDateTime FIOSPlatformFile::GetTimeStamp ( const TCHAR Filename)
overridevirtual

Return the modification time of a file. Returns FDateTime::MinValue() on failure

Reimplemented from FApplePlatformFile.

◆ IsReadOnly()

bool FIOSPlatformFile::IsReadOnly ( const TCHAR Filename)
overridevirtual

Return true if the file is read only.

Reimplemented from FApplePlatformFile.

◆ IterateDirectory()

bool FIOSPlatformFile::IterateDirectory ( const TCHAR Directory,
FDirectoryVisitor Visitor 
)
overridevirtual

Call the Visit function of the visitor once for each file or directory in a single directory. This function does not explore subdirectories.

Parameters
DirectoryThe directory to iterate the contents of.
VisitorVisitor to call for each element of the directory
Returns
false if the directory did not exist or if the visitor returned false.

Reimplemented from FApplePlatformFile.

◆ IterateDirectoryStat()

bool FIOSPlatformFile::IterateDirectoryStat ( const TCHAR Directory,
FDirectoryStatVisitor Visitor 
)
overridevirtual

Call the Visit function of the visitor once for each file or directory in a single directory. This function does not explore subdirectories.

Parameters
DirectoryThe directory to iterate the contents of.
VisitorVisitor to call for each element of the directory
Returns
false if the directory did not exist or if the visitor returned false.

Reimplemented from FApplePlatformFile.

◆ MoveFile()

bool FIOSPlatformFile::MoveFile ( const TCHAR To,
const TCHAR From 
)
overridevirtual

Attempt to move a file. Return true if successful. Will not overwrite existing files.

Reimplemented from FApplePlatformFile.

◆ NormalizeDirectory()

FString FIOSPlatformFile::NormalizeDirectory ( const TCHAR Directory)
protectedvirtual

Reimplemented from FApplePlatformFile.

◆ NormalizeFilename()

FString FIOSPlatformFile::NormalizeFilename ( const TCHAR Filename)
protectedvirtual

Mac File I/O implementation

Reimplemented from FApplePlatformFile.

◆ OpenRead()

IFileHandle * FIOSPlatformFile::OpenRead ( const TCHAR Filename,
bool  bAllowWrite = false 
)
overridevirtual

Attempt to open a file for reading. Please consider using the new overload that takes EReadFlags instead of bools as parameters.

Parameters
Filenamefile to be opened
bAllowWrite(applies to certain platforms only) whether this file is allowed to be written to by other processes. This flag is needed to open files that are currently being written to as well.
Returns
If successful will return a non-nullptr pointer. Close the file by deleting the handle.

Reimplemented from FApplePlatformFile.

◆ OpenWrite()

IFileHandle * FIOSPlatformFile::OpenWrite ( const TCHAR Filename,
bool  bAppend = false,
bool  bAllowRead = false 
)
overridevirtual

Attempt to open a file for writing. If successful will return a non-nullptr pointer. Close the file by deleting the handle.

Reimplemented from FApplePlatformFile.

◆ SetCreatePublicFiles()

void FIOSPlatformFile::SetCreatePublicFiles ( bool  bCreatePublicFiles)
overridevirtual

Sets file system to create publicly accessible files or not

Parameters
bCreatePublicFilestrue to set the file system to create publicly accessible files

Reimplemented from IPlatformFile.

◆ SetReadOnly()

bool FIOSPlatformFile::SetReadOnly ( const TCHAR Filename,
bool  bNewReadOnlyValue 
)
overridevirtual

Attempt to change the read only status of a file. Return true if successful.

Reimplemented from FApplePlatformFile.

◆ SetTimeStamp()

void FIOSPlatformFile::SetTimeStamp ( const TCHAR Filename,
const FDateTime  DateTime 
)
overridevirtual

Sets the modification time of a file

Reimplemented from FApplePlatformFile.


The documentation for this class was generated from the following files: