CreateDirectory(dirUrl) : Boolean
Creates a directory.
Returns false if directory already exists.
CreateDirectory Parameters
dirUrl : Url
Directory URL to create.
CreateDirectory Examples
var ok = CreateDirectory('sftp://user:password@host.com/directory');
var ok = CreateDirectory('res:///internal/directory');
var ok = CreateDirectory('gdrive://name/directory');
DeleteDirectory(dirUrl, keepSelf = false) : Boolean
Deletes a directory with all sub-dirs and files.
Returns false if directory does not exist.
DeleteDirectory Parameters
dirUrl : Url
Directory URL to delete.
keepSelf : Boolean = false
True to delete everything inside but keep the directory itself.
DeleteDirectory Examples
var ok = DeleteDirectory('sftp://user:password@host.com/directory');
var ok = DeleteDirectory('res:///internal/directory', true);
var ok = DeleteDirectory('gdrive://name/directory');
DeleteFile(url) : Boolean
Deletes a file.
Returns false if file does not exist.
DeleteFile Parameters
url : Url
DeleteFile Examples
var ok = DeleteFile('sftp://user:password@host.com/directory/file.ext');
var ok = DeleteFile('res:///internal/directory/file.ext');
var ok = DeleteFile('gdrive://name/directory/file.ext');
Extract(archive, path) : Resource?
Extracts a resource file from resource container (archive).
Extract Parameters
archive : Resource?
path : String
Extract Examples
var csv = File('res:///internal/archive.zip').Extract('data.csv');
File(url) : Resource?
Alias: GetFile
Returns file resource from specified URL.
File Parameters
url : Url
File Examples
var csv = File('res:///internal/data.csv');
FileExists(url) : Boolean
Checks if specified URL points to an existing file.
FileExists Parameters
url : Url
FileExists Examples
var ok = FileExists('res:///internal/data.csv');
FromBase64(base64, asUTF8 = false) : Binary?
Converts Base64 string to binary content.
FromBase64 Parameters
base64 : String?
asUTF8 : Boolean = false
True to convert decoded data to string using UTF-8 and to return the string.
FromBase64 Examples
var msg = FromBase64('R25vc2lzIERvY3VtZW50YXRpb24gRXhhbXBsZQ==', true);
GetPublicUrl(resource) : Url?
Returns public URL for a resource if possible.
Public URL can be used to download the resource from client.
GetPublicUrl Parameters
resource : Resource?
GetPublicUrl Examples
var streamingUrl = File('s3://bucket/video.mp4').GetPublicUrl();
GetText(resource) : String?
Loads file content as text.
GetText Parameters
resource : Resource?
GetText Examples
var text = File('res:///internal/default.txt').GetText();
GetTextLines(resource, offset = -1) : String[]
Loads text lines from file and returns lazy array of strings.
GetTextLines Parameters
resource : Resource?
offset : Long = -1
Non-negative to return line offset on read. Value is used as the initial offset.
GetTextLines Examples
var lines = File('res:///internal/default.txt').GetTextLines();
ListFiles(url, mask?, dir?, recursiveFiles = false) : ResourceInfo[]?
Lists directory or file container contents.
ListFiles Parameters
url : Url
Can be also resource container (e.g. zip file resource).
mask? : String?
Null to list all files.
Mask is not applied to directories, all directories are always listed.
dir? : String?
Relative directory within base URL or container.
recursiveFiles : Boolean = false
True to get all files (filtered by mask) from all sub-dirs.
ListFiles Examples
var dirsAndfiles = ListFiles('res:///internal', '*.csv');
var files = ListFiles('res:///internal', '*.csv', null, true);
var files = File('res:///internal/archive.zip').ListFiles('*.csv', 'data', true);
MoveFile(sourceUrl, newName) : Boolean
Moves or renames a file.
MoveFile Parameters
sourceUrl : Url
Source URL to move or rename.
newName : String
New name to rename to (or relative path to move+rename).
MoveFile Examples
var ok = MoveFile('res:///internal/file.txt', 'current.txt'); // just rename in place
var ok = MoveFile('res:///internal/file.txt', 'sub/file.txt'); // move to sub-dir
var ok = MoveFile('res:///internal/file.txt', 'sub/current.txt'); // move to sub-dir and rename
var ok = MoveFile('res:///internal/file.txt', '/file.txt'); // move to the root dir 'res:///file.txt'
SaveFile(content, url, forceOverwrite = false) : Boolean
Alias: Save
Saves data to a file (creates new file or overwrites existing one).
SaveFile Parameters
content : Binary?
New file content.
url : Url
File URL to save content.
forceOverwrite : Boolean = false
True to overwrite existing file if any.
SaveFile Examples
var ok = SaveFile('Test content', 'res:///internal/file.txt');
var ok = File('res:///internal/file.txt').SaveFile('gdrive://name/file.txt', true);
ToBase64(content, lineBreaks = false) : String?
Converts binary content to Base64 string.
ToBase64 Parameters
content : Binary?
lineBreaks : Boolean = false
True to insert line breaks every 76 characters.
ToBase64 Examples
var encoded = ToBase64('Gnosis Documentation Example');
var encoded = File('res:///internal/file.txt').ToBase64(true);
ToFile(content, filename?, modificationTime?, skipBom = false) : Resource?
Converts content to memory file resource.
ToFile Parameters
content : Binary?
filename? : String?
modificationTime? : DateTime?
skipBom : Boolean = false
ToFile Examples
var memoryFile = ToFile('Test Data', 'file.txt');
var memoryFile = File('res:///internal/file.txt').ToFile();
ToHex(content, upperCase = false, spaced = false, lineFeedEvery = 0) : String?
Converts binary content to hex string.
ToHex Parameters
content : Binary?
upperCase : Boolean = false
True to use capital hexadecimal letters.
spaced : Boolean = false
True to insert space after each encoded byte.
lineFeedEvery : Integer = 0
Set to non-negative number to insert line breaks every N encoded bytes.
ToHex Examples
var ok = ToHex('Test Data ©') == '54657374204461746120c2a9';
var ok = ToHex('Test Data ©', true) == '54657374204461746120C2A9';
var ok = ToHex('Test Data ©', true, true) == '54 65 73 74 20 44 61 74 61 20 C2 A9';
Zip(files, archiveName?, password?, level?) : Resource?
Compresses files to a zip archive and returns file resource.
Zip Parameters
files : []?
array of resources or objects { Name = name, Content = binary }
archiveName? : String?
password? : String?
level? : int?
compression level 1..9
Zip Examples
var zipFile = Zip([File('res:///file.txt'), { Name='second.txt', Content='Test Data' }], 'archive.zip');