Skip to main content
Version: 8.1

system.file.writeFile

This function is used in Python Scripting.

Description

Writes the given data to the file at file path filename. If the file exists, the append argument determines whether or not it is overwritten (the default) or appended to. The data argument can be either a string or an array of bytes (commonly retrieved from a BLOB in a database or read from another file using system.file.readFileAsBytes).

note

This function is scoped for Perspective Sessions, but since all scripts in Perspective run on the Gateway, the file must be located on the Gateway's file system.

Client Permission Restrictions

This scripting function has no Client Permission restrictions.

Syntax (charData param)

system.file.writeFile(filepath, charData, [append], [encoding])

Parameters

TypeParameterDescription
StringfilepathThe path of the file to write to.
StringcharDataThe character content to write to the file.
BooleanappendIf true, the file will be appended to if it already exists. If false, the file will be overwritten if it exists. The default is false. [optional]
StringencodingThe character encoding of the file to write. Will throw an exception if the string does not represent a supported encoding. Common encodings are "UTF-8", "ISO-8859-1" and "US-ASCII". Default is "UTF-8". [optional]

Returns

Nothing

Scope

Gateway, Vision Client, Perspective Session

Syntax (data param)

system.file.writeFile(filepath, data, [append], [encoding])

Parameters

TypeParameterDescription
StringfilepathThe path of the file to write to.
Byte[]dataThe binary content to write to the file.
BooleanappendIf true, the file will be appended to if it already exists. If false, the file will be overwritten if it exists. The default is false. [optional]
StringencodingThe character encoding of the file to write. Will throw an exception if the string does not represent a supported encoding. Common encodings are "UTF-8", "ISO-8859-1" and "US-ASCII". Default is "UTF-8". [optional]

Returns

Nothing

Scope

Gateway, Vision Client, Perspective Session

Code Examples

caution

The system.file.saveFile function used in the examples below is only a Vision Client function, so the following scripts will not work in Perspective.

Example #1
#This code would download a BLOB from a database and save it to a file.

resultSet = system.db.runQuery("SELECT file_data FROM Files WHERE id=12")
if len(resultSet) > 0: # if the query returned anything...
data = resultSet[0][0] # grab the BLOB at the 0th row and 0th column
filename = system.file.saveFile("MyDownloadedFile.xyz")
if filename is not None:
system.file.writeFile(filename, data)
Example #2
# This code would write the contents of a text area to a file.

data = event.source.parent.getComponent("Text Area").text
filename = system.file.saveFile("MyDownloadedFile.txt")
if filename is not None:
system.file.writeFile(filename, data)

Keywords

system file writeFile, file.writeFile