Arma 3 Scripting

Command in Program Flow

fileExists

Also available as Markdown and JSON, or read the original wiki page.

Description

Checks if file on given path exists. Uses same path resolve code as loadFile.

Note

Absolute paths are not supported, such as those generated using getMissionPath. Attempting to check an absolute path will result in this error in RPT logs: Invalid path (only relative paths supported): 'C:\...'

Syntax

fileExists path

Parameters:

Returns: Boolean - true if it exists, otherwise false

Examples

Example 1

fileExists "\a3\mySuperPath\bestFileEver.paa"; // returns false

Example 2

private _path = "a3\functions_f_mp_mark\revive\_addaction_revive.inc";
if (fileExists _path) then { loadFile _path } else { diag_log format ["File (%1) does not exist!", _path] };

Example 3

// Sometimes it might be better to check if a file exists instead of checking if path is empty ("")
private _class = "ModuleObjectiveRaceFinish_F";
private _picture = getText (configFile >> "CfgVehicles" >> _class >> "editorPreview");
if !(fileExists _picture) then { _picture = getText (configFile >> "CfgVehicles" >> _class >> "portrait") };
if !(fileExists _picture) then { _picture = getText (configFile >> "CfgVehicles" >> _class >> "icon") };
if !(fileExists _picture) then { _picture = getText (configFile >> "CfgVehicles" >> _class >> "picture") };
if !(fileExists _picture) then { systemChat "No valid picture found!" } else { systemChat _picture };

See also

loadFile · preprocessFile · preprocessFileLineNumbers

Community notes

Leopard20

Returns true for empty strings: fileExists ""; // true