Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


GetFileInfo(string, FileInfoResult*)

Gets information about a file.
Read time 2 minutesLast updated 13 days ago

Definition

public static ReadHandle GetFileInfo(string filename, FileInfoResult* result)

Parameters

filename

The name of the file to query.

A struct that this function fills in with information about the file upon completion of this asynchronous request.

Returns

Type

Description

ReadHandleA read handle that you can use to monitor the progress and status of this GetFileInfo command.

Remarks

This function gets information about the specified file asynchronously without opening the file. On completion of the asynchronous operation, the
result
parameter's FileInfoResult.FileState member reports whether the file exists (FileState.Exists) or not (FileState.Absent). If the file exists, the
result
parameter's FileInfoResult.FileSize member reports the size of the file in bytes. If the file doesn't exist, the size is reported as zero.
GetFileInfo
does not copy
result
. It stores the pointer and writes the file information through it on a worker thread when the operation completes, which can be after the call returns. Keep the FileInfoResult that
result
refers to valid and pinned until the returned ReadHandle has a status other than ReadStatus.InProgress. Otherwise, the garbage collector can move or free the memory before the write occurs. Until the operation completes, FileInfoResult.FileState has its initial value of FileState.Absent, which is the same value that a missing file produces, so treat the result as final only after the handle completes.
Warning: A
fixed
statement around the
GetFileInfo
call pins the FileInfoResult only for the duration of its block, not for the asynchronous operation that continues after the block exits. This is a common mistake in
async
methods, where the compiler places locals that outlive an
await
on the managed heap. Pin the memory for the whole operation.