The File data type allows you to manage system files.
It helps you to develop applications that need to execute actions to the system files.
It can be used for typical operations such as copying, moving, renaming, and deleting files. You can also use it to get file attributes such as the last modification date, time, and size.
By defining variables based on this data type you are able to set and use the following properties and methods.
Source |
Assigns a path to the file. The source cannot be read, use GetAbsoluteName(*) instead. |
Separator |
Returns the name separator character depending on the OS. |
ErrCode |
Returns the result of the last operation. |
ErrDescription |
Returns the result description of the last operation. |
Copy |
Copies the specified file to a new file. |
Delete |
Deletes the specified file. |
Exists |
Determines whether the specified file exists. |
GetName |
Returns the name of the specified file. |
GetAbsoluteName |
Returns the full path name of the specified file. |
GetPath |
Returns the path of the parent directory. |
GetURI |
Returns the URI to the specified file. (1) |
Rename |
Renames the specified file. |
GetLastModified |
Returns the date and time the specified file was last modified. |
GetLength |
Gets the size of the specified file. |
Open |
See Text file handling methods. |
Close |
See Text file handling methods. |
FromBase64String |
Write encoded content into the file(2). |
Copy
Copies the file specified in the source to a new location. If the target file already exists, it will be overridden.
Parameter
New filename (Character)
Sample
&file.copy("c:\empcopiedFile.txt")
Delete
Deletes the file specified in the source.
Sample
&file.delete()
Exists
Checks whether the file specified in source exists
Returned value
Boolean
Sample
If &file.exists()
msg("The file exists!")
Else
msg("The file does not exist!")
EndIf
GetName
Returns the name of the file specified in the source.
Returned value
Character
Sample
&file.Source="c:\myFile.txt"
Msg(&file.GetName()) // screen shows: myFile.txt
GetAbsoluteName
Returns the absolute name of the file specified in the source.
Returned value
Character
Sample
&file.Source="c:\empmyFile.txt"
Msg(&file.GetAbsoluteName()) // screen shows: c:\empmyFile.txt
GetPath
Returns the path of the parent directory.
Returned value
Character
Sample
&file.source = 'c:\temp\folder\emptyFile.txt'
&parentDir = &file.getPath()
Msg(&parentDir) // result: c:\temp\folder
Returns the URI to the specified file. For local files, it is equivalent to GetAbsoluteName() but differs in external files (files returned by Storage API methods)
Returned value
Character
Sample
&file.Source="c:\empmyFile.txt"
Msg(&file.GetURI()) // screen shows: c:\empmyFile.txt
Rename
Renames the file specified in the source. It can also be used to move the file, changing its current path.
Parameter
New name of the file (Character)
Sample
&file.Rename("d:\empnewFileName.txt")
GetLastModified
Returns the date and time the file specified in the source was last modified.
Returned value
DateTime
Sample
&dateTime = &file.GetLastModified()
GetLength
Returns the size (in bytes) of the file specified in the source.
Returned value
Numeric
Sample
&size = &file.GetLength()
FromBase64String
Convert a Base64-encoded string to a human-readable string, and write it into the file. Optionally, this function returns a boolean value indicating if the operation was successful.
Parameter
Base64-string
Returned value
Boolean
Sample
&file.FromBase64String(&Base64String)
This method is not supported for user events in Native Mobile apps.
0 |
Operation completed successfully. |
1 |
Invalid file instance - if source property was not set. |
2 |
The file does not exist. |
3 |
File already exists. |
100 |
Security error. |
-1 |
Undefined error. |
File data type handles files that are in the local file system by default. But when it is returned by a method of the Storage Provider API, then it refers to a file located in the external storage.
If it is returned by the GetFiles() method of the Directory data type and that is returned by the GetDirectories() method in the Storage Provider API, then it refers to a file located in the external storage too.
Suppose you have a bucket named 'mytest' and uploaded the file named 'cat.jpg' to a folder named 'petsFolder', using the Storage Provider API.
Method |
Returns |
GetURI |
https://mytest.s3.amazonaws.com/petsFolder/cat.jpg |
GetName |
cat.jpg |
GetAbsoluteName |
petsFolder/cat.jpg |
GetPath |
petsFolder |
Refer to Storage Provider API for related sample code.
When a property or method is used to assign a file's path do not use the user's inputs concatenations or sanitize the user's entries to avoid path traversal or path manipulation vulnerability risks.
File data type: Text file handling
Storage Provider API