Child pages
  • file
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

The File plugin provides functionality to work with files.

Main features are:

  • Creating temporary files
  • Reading from and writing to the filesystem
  • Retrieving information on files and directories on the file system
  • Streaming files between the Smart Client and the Server (and vise versa)

When using the File plugin, it's important to take into account the differences and compatibility between different clients:

  • Interacting with the file system through the plugin in a Smart Client happens client-side, so on the machine where the Smart Client is launched. On all other clients (Web, Headless & Batchprocessor), the operations are performed on the Server.
  • All showXxxxDialog(...) functions interact with the user through a UI. These function can only be used in Clients that provide a UI, like the Smart and Web Client.
  • The showXxxxDialog(...) functions, when used in the Web Client, have certain limitations due to being operated in a browser. Browser security (currently) limits interaction with the local file system, except for single file select operations initiated by the user clicking a button.
Unknown macro: {table}
Unknown macro: {tr}
Unknown macro: {th}

Return Types

Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

JSFile


Unknown macro: {table}

{column:padding=0px|width=80px}{column}{column}{column}

Unknown macro: {tr}
Unknown macro: {th}

Server Property Summery

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}


Unknown macro: {table}

{column:padding=0px|width=80px}{column}{column}{column}

Unknown macro: {tr}
Unknown macro: {th}

Method Summery

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Boolean

Unknown macro: {td}

appendToTXTFile(file/fileName, text, [encoding])
Appends data into a text file.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

JSFile

Unknown macro: {td}

convertToJSFile(file)
Returns a JSFile instance corresponding to an alternative representation of a file (for example a string).

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

JSFile

Unknown macro: {td}

convertToRemoteJSFile(serverPath)
Returns the JSFile object of a server file, given its path (relative the default server location)

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Boolean

Unknown macro: {td}

copyFile(sourceFile, destinationFile)
Copies the sourcefile to the destination file.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Boolean

Unknown macro: {td}

copyFolder(sourceFolder, destinationFolder)
Copies the sourcefolder to the destination folder, recursively.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

JSFile

Unknown macro: {td}

createFile(targetFile)
Creates a JSFile instance.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Boolean

Unknown macro: {td}

createFolder(targetFolder)
Creates a folder on disk.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

JSFile

Unknown macro: {td}

createTempFile(filePrefix, fileSuffix)
Creates a temporary file on disk.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Boolean

Unknown macro: {td}

deleteFile(targetFile)
Removes a file from disk.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Boolean

Unknown macro: {td}

deleteFolder(targetFolder, showWarning)
Deletes a folder from disk recursively.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

JSFile

Unknown macro: {td}

getDesktopFolder()
Returns a JSFile instance that corresponds to the Desktop folder of the currently logged in user.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

JSFile[]

Unknown macro: {td}

getDiskList()
Returns an Array of JSFile instances correponding to the file system root folders.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Number

Unknown macro: {td}

getFileSize(targetFile)
Returns the size of the specified file.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

JSFile[]

Unknown macro: {td}

getFolderContents(targetFolder, [fileFilter], [fileOption(1=files,2=dirs)], [visibleOption(1=visible,2=nonvisible)], [lockedOption(1=locked,2=nonlocked)])
Returns an array of JSFile instances corresponding to content of the specified folder.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

JSFile

Unknown macro: {td}

getHomeDirectory()
Returns a JSFile instance corresponding to the home folder of the logged in used.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Date

Unknown macro: {td}

getModificationDate(targetFile)
Returns the modification date of a file.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

JSFile[]

Unknown macro: {td}

getRemoteList(serverFolder/serverFolderPath, [filesOnly])
Retrieves a list of files existing in a folder on the server side (in the path provided, relative to the default server location)

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Boolean

Unknown macro: {td}

moveFile(sourceFile, destinationFile)
Moves the file from the source to the destination place.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

byte[]

Unknown macro: {td}

readFile([file], [size])
Reads all or part of the content from a binary file.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

String

Unknown macro: {td}

readTXTFile([file], [charsetname])
Read all content from a text file.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

JSFile

Unknown macro: {td}

showDirectorySelectDialog([directory suggestion], [dialog title text])
Shows a directory selector dialog.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Object

Unknown macro: {td}

showFileOpenDialog([selectionMode(0=both,1=Files,2=Dirs)], [startDirectory(null=default/previous)], [multiselect(true/false)], [filterarray], [callbackmethod], [dialog title text])
Shows a file open dialog.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

JSFile

Unknown macro: {td}

showFileSaveDialog([fileName/dir suggestion], [dialog title text])
Shows a file save dialog.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

void

Unknown macro: {td}

streamFilesFromServer(file/fileName|fileArray/fileNameArray, serverFile/serverFileName|serverFileArray/serverFileNameArray, [callbackFunction])
Streams a file or an array of files from the server in a background task to a file (or files) on the client.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

void

Unknown macro: {td}

streamFilesToServer(file/fileName|fileArray/fileNameArray, [serverFile/serverFileName|serverFileArray/serverFileNameArray], [callbackFunction])
Streams a file or an array of files to the server in a background task - with optional relative path(s)/(new) name(s).

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Boolean

Unknown macro: {td}

writeFile(file, binary_data, [mimeType])
Writes data into a binary file.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Boolean

Unknown macro: {td}

writeTXTFile(file, text_data, [charsetname], [mimeType])
Writes data into a text file.

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}

Boolean

Unknown macro: {td}

writeXMLFile(file, xml_data)
Writes data into an XML file.


Unknown macro: {table}

{column:padding=0px|width=100%}{column}

Unknown macro: {tr}
Unknown macro: {th}

Server Property Details

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
servoy.FileServerService.defaultFolder
Unknown macro: {tr}
Unknown macro: {td}

Set the default folder path to save files sent by client (will default to /uploads/)

Unknown macro: {tr}
Unknown macro: {td}


Unknown macro: {table}

{column:padding=0px|width=100%}{column}

Unknown macro: {tr}
Unknown macro: {th}

Method Details

Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
appendToTXTFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Boolean

Unknown macro: {span}

appendToTXTFile

Unknown macro: {span}

(file/fileName, text, [encoding])

Unknown macro: {tr}
Unknown macro: {td}

Appends data into a text file.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
file/fileName
text
[encoding]

Unknown macro: {tr}
Unknown macro: {td}

Returns
Boolean

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
// append some text to a text file:
	var ok = plugins.file.appendToTXTFile('myTextFile.txt', '\nMy fantastic new line of text\n');
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
convertToJSFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

JSFile

Unknown macro: {span}

convertToJSFile

Unknown macro: {span}

(file)

Unknown macro: {tr}
Unknown macro: {td}

Returns a JSFile instance corresponding to an alternative representation of a file (for example a string).

Unknown macro: {tr}
Unknown macro: {td}

Parameters
file

Unknown macro: {tr}
Unknown macro: {td}

Returns
JSFile

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var f = plugins.file.convertToJSFile("story.txt");
if (f.canRead())
	application.output("File can be read.");
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
convertToRemoteJSFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

JSFile

Unknown macro: {span}

convertToRemoteJSFile

Unknown macro: {span}

(serverPath)

Unknown macro: {tr}
Unknown macro: {td}

Returns the JSFile object of a server file, given its path (relative the default server location)

Unknown macro: {tr}
Unknown macro: {td}

Parameters
serverPath

Unknown macro: {tr}
Unknown macro: {td}

Returns
JSFile

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var f = plugins.file.convertToRemoteJSFile('/story.txt');
if (f && f.canRead())
	application.output('File can be read.');
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
copyFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Boolean

Unknown macro: {span}

copyFile

Unknown macro: {span}

(sourceFile, destinationFile)

Unknown macro: {tr}
Unknown macro: {td}

Copies the sourcefile to the destination file. Returns true if the copy succeeds, false if any error occurs.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
sourceFile
destinationFile

Unknown macro: {tr}
Unknown macro: {td}

Returns
Boolean

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
// Copy based on file names.
if (!plugins.file.copyFile("story.txt", "story.txt.copy"))
	application.output("Copy failed.");
// Copy based on JSFile instances.
var f = plugins.file.createFile("story.txt");
var fcopy = plugins.file.createFile("story.txt.copy2");
if (!plugins.file.copyFile(f, fcopy))
	application.output("Copy failed.");
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
copyFolder
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Boolean

Unknown macro: {span}

copyFolder

Unknown macro: {span}

(sourceFolder, destinationFolder)

Unknown macro: {tr}
Unknown macro: {td}

Copies the sourcefolder to the destination folder, recursively. Returns true if the copy succeeds, false if any error occurs.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
sourceFolder
destinationFolder

Unknown macro: {tr}
Unknown macro: {td}

Returns
Boolean

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
// Copy folder based on names.
if (!plugins.file.copyFolder("stories", "stories_copy"))
	application.output("Folder copy failed.");
// Copy folder based on JSFile instances.
var d = plugins.file.createFile("stories");
var dcopy = plugins.file.createFile("stories_copy_2");
if (!plugins.file.copyFolder(d, dcopy))
	application.output("Folder copy failed.");
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
createFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

JSFile

Unknown macro: {span}

createFile

Unknown macro: {span}

(targetFile)

Unknown macro: {tr}
Unknown macro: {td}

Creates a JSFile instance. Does not create the file on disk.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
targetFile

Unknown macro: {tr}
Unknown macro: {td}

Returns
JSFile

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
// Create the JSFile instance based on the file name.
var f = plugins.file.createFile("newfile.txt");
// Create the file on disk.
if (!f.createNewFile())
	application.output("The file could not be created.");
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
createFolder
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Boolean

Unknown macro: {span}

createFolder

Unknown macro: {span}

(targetFolder)

Unknown macro: {tr}
Unknown macro: {td}

Creates a folder on disk. Returns true if the folder is successfully created, false if any error occurs.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
targetFolder

Unknown macro: {tr}
Unknown macro: {td}

Returns
Boolean

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var d = plugins.file.convertToJSFile("newfolder");
if (!plugins.file.createFolder(d))
	application.output("Folder could not be created.");
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
createTempFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

JSFile

Unknown macro: {span}

createTempFile

Unknown macro: {span}

(filePrefix, fileSuffix)

Unknown macro: {tr}
Unknown macro: {td}

Creates a temporary file on disk. A prefix and an extension are specified and they will be part of the file name.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
filePrefix
fileSuffix

Unknown macro: {tr}
Unknown macro: {td}

Returns
JSFile

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var tempFile = plugins.file.createTempFile('myfile','.txt');
application.output('Temporary file created as: ' + tempFile.getAbsolutePath());
plugins.file.writeTXTFile(tempFile, 'abcdefg');
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
deleteFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Boolean

Unknown macro: {span}

deleteFile

Unknown macro: {span}

(targetFile)

Unknown macro: {tr}
Unknown macro: {td}

Removes a file from disk. Returns true on success, false otherwise.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
targetFile

Unknown macro: {tr}
Unknown macro: {td}

Returns
Boolean

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
if (plugins.file.deleteFile('story.txt'))
	application.output('File deleted.');
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
deleteFolder
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Boolean

Unknown macro: {span}

deleteFolder

Unknown macro: {span}

(targetFolder, showWarning)

Unknown macro: {tr}
Unknown macro: {td}

Deletes a folder from disk recursively. Returns true on success, false otherwise. If the second parameter is set to true, then a warning will be issued to the user before actually removing the folder.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
targetFolder
showWarning

Unknown macro: {tr}
Unknown macro: {td}

Returns
Boolean

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
if (plugins.file.deleteFolder('stories', true))
	application.output('Folder deleted.');
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
getDesktopFolder
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

JSFile

Unknown macro: {span}

getDesktopFolder

Unknown macro: {span}

()

Unknown macro: {tr}
Unknown macro: {td}

Returns a JSFile instance that corresponds to the Desktop folder of the currently logged in user.

Unknown macro: {tr}
Unknown macro: {td}

Returns
JSFile

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var d = plugins.file.getDesktopFolder();
application.output('desktop folder is: ' + d.getAbsolutePath());
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
getDiskList
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

JSFile[]

Unknown macro: {span}

getDiskList

Unknown macro: {span}

()

Unknown macro: {tr}
Unknown macro: {td}

Returns an Array of JSFile instances correponding to the file system root folders.

Unknown macro: {tr}
Unknown macro: {td}

Returns
JSFile[]

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var roots = plugins.file.getDiskList();
for (var i = 0; i < roots.length; i++)
	application.output(roots[i].getAbsolutePath());
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
getFileSize
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Number

Unknown macro: {span}

getFileSize

Unknown macro: {span}

(targetFile)

Unknown macro: {tr}
Unknown macro: {td}

Returns the size of the specified file.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
targetFile

Unknown macro: {tr}
Unknown macro: {td}

Returns
Number

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var f = plugins.file.convertToJSFile('story.txt');
application.output('file size: ' + plugins.file.getFileSize(f));
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
getFolderContents
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

JSFile[]

Unknown macro: {span}

getFolderContents

Unknown macro: {span}

(targetFolder, [fileFilter], [fileOption(1=files,2=dirs)], [visibleOption(1=visible,2=nonvisible)], [lockedOption(1=locked,2=nonlocked)])

Unknown macro: {tr}
Unknown macro: {td}

Returns an array of JSFile instances corresponding to content of the specified folder. The content can be filtered by optional name filter(s), by type, by visibility and by lock status.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
targetFolder
[fileFilter]
[fileOption(1=files,2=dirs)]
[visibleOption(1=visible,2=nonvisible)]
[lockedOption(1=locked,2=nonlocked)]

Unknown macro: {tr}
Unknown macro: {td}

Returns
JSFile[]

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var files = plugins.file.getFolderContents('stories', '.txt');
for (var i=0; i<files.length; i++)
	application.output(files[i].getAbsolutePath());
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
getHomeDirectory
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

JSFile

Unknown macro: {span}

getHomeDirectory

Unknown macro: {span}

()

Unknown macro: {tr}
Unknown macro: {td}

Returns a JSFile instance corresponding to the home folder of the logged in used.

Unknown macro: {tr}
Unknown macro: {td}

Returns
JSFile

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var d = plugins.file.getHomeDirectory();
application.output('home folder: ' + d.getAbsolutePath());
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
getModificationDate
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Date

Unknown macro: {span}

getModificationDate

Unknown macro: {span}

(targetFile)

Unknown macro: {tr}
Unknown macro: {td}

Returns the modification date of a file.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
targetFile

Unknown macro: {tr}
Unknown macro: {td}

Returns
Date

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var f = plugins.file.convertToJSFile('story.txt');
application.output('last changed: ' + plugins.file.getModificationDate(f));
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
getRemoteList
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

JSFile[]

Unknown macro: {span}

getRemoteList

Unknown macro: {span}

(serverFolder/serverFolderPath, [filesOnly])

Unknown macro: {tr}
Unknown macro: {td}

Retrieves a list of files existing in a folder on the server side (in the path provided, relative to the default server location)

Unknown macro: {tr}
Unknown macro: {td}

Parameters
serverFolder/serverFolderPath
[filesOnly]

Unknown macro: {tr}
Unknown macro: {td}

Returns
JSFile[]

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}

Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
moveFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Boolean

Unknown macro: {span}

moveFile

Unknown macro: {span}

(sourceFile, destinationFile)

Unknown macro: {tr}
Unknown macro: {td}

Moves the file from the source to the destination place. Returns true on success, false otherwise.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
sourceFile
destinationFile

Unknown macro: {tr}
Unknown macro: {td}

Returns
Boolean

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
// Move file based on names.
if (!plugins.file.moveFile('story.txt','story.txt.new'))
	application.output('File move failed.');
// Move file based on JSFile instances.
var f = plugins.file.convertToJSFile('story.txt.new');
var fmoved = plugins.file.convertToJSFile('story.txt');
if (!plugins.file.moveFile(f, fmoved))
	application.output('File move back failed.');
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
readFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

byte[]

Unknown macro: {span}

readFile

Unknown macro: {span}

([file], [size])

Unknown macro: {tr}
Unknown macro: {td}

Reads all or part of the content from a binary file. If a file name is not specified, then a file selection dialog pops up for selecting a file. (Web Enabled)

Unknown macro: {tr}
Unknown macro: {td}

Parameters
[file]
[size]

Unknown macro: {tr}
Unknown macro: {td}

Returns
byte[]

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
// Read all content from the file.
var bytes = plugins.file.readFile('big.jpg');
application.output('file size: ' + bytes.length);
// Read only the first 1KB from the file.
var bytesPartial = plugins.file.readFile('big.jpg', 1024);
application.output('partial file size: ' + bytesPartial.length);
// Read all content from a file selected from the file open dialog.
var bytesUnknownFile = plugins.file.readFile();
application.output('unknown file size: ' + bytesUnknownFile.length);
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
readTXTFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

String

Unknown macro: {span}

readTXTFile

Unknown macro: {span}

([file], [charsetname])

Unknown macro: {tr}
Unknown macro: {td}

Read all content from a text file. If a file name is not specified, then a file selection dialog pops up for selecting a file. The encoding can be also specified. (Web Enabled)

Unknown macro: {tr}
Unknown macro: {td}

Parameters
[file]
[charsetname]

Unknown macro: {tr}
Unknown macro: {td}

Returns
String

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
// Read content from a known text file.
var txt = plugins.file.readTXTFile('story.txt');
application.output(txt);
// Read content from a text file selected from the file open dialog.
var txtUnknown = plugins.file.readTXTFile();
application.output(txtUnknown);
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
showDirectorySelectDialog
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

JSFile

Unknown macro: {span}

showDirectorySelectDialog

Unknown macro: {span}

([directory suggestion], [dialog title text])

Unknown macro: {tr}
Unknown macro: {td}

Shows a directory selector dialog.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
[directory suggestion]
[dialog title text]

Unknown macro: {tr}
Unknown macro: {td}

Returns
JSFile

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var dir = plugins.file.showDirectorySelectDialog();
application.output("you've selected folder: " + dir.getAbsolutePath());
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
showFileOpenDialog
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Object

Unknown macro: {span}

showFileOpenDialog

Unknown macro: {span}

([selectionMode(0=both,1=Files,2=Dirs)], [startDirectory(null=default/previous)], [multiselect(true/false)], [filterarray], [callbackmethod], [dialog title text])

Unknown macro: {tr}
Unknown macro: {td}

Shows a file open dialog. Filters can be applied on what type of files can be selected. (Web Enabled)

Unknown macro: {tr}
Unknown macro: {td}

Parameters
[selectionMode(0=both,1=Files,2=Dirs)]
[startDirectory(null=default/previous)]
[multiselect(true/false)]
[filterarray]
[callbackmethod]
[dialog title text]

Unknown macro: {tr}
Unknown macro: {td}

Returns
Object

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and
// the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")').
var file = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF","jpg","gif"));
application.output("you've selected file: " + file.getAbsolutePath());
//for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), other options can be set but are not used in the webclient (yet)
var file = plugins.file.showFileOpenDialog(myCallbackMethod)
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
showFileSaveDialog
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

JSFile

Unknown macro: {span}

showFileSaveDialog

Unknown macro: {span}

([fileName/dir suggestion], [dialog title text])

Unknown macro: {tr}
Unknown macro: {td}

Shows a file save dialog.

Unknown macro: {tr}
Unknown macro: {td}

Parameters
[fileName/dir suggestion]
[dialog title text]

Unknown macro: {tr}
Unknown macro: {td}

Returns
JSFile

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var file = plugins.file.showFileSaveDialog();
application.output("you've selected file: " + file.getAbsolutePath());
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
streamFilesFromServer
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

void

Unknown macro: {span}

streamFilesFromServer

Unknown macro: {span}

(file/fileName|fileArray/fileNameArray, serverFile/serverFileName|serverFileArray/serverFileNameArray, [callbackFunction])

Unknown macro: {tr}
Unknown macro: {td}

Streams a file or an array of files from the server in a background task to a file (or files) on the client. If provided, calls back a Servoy function when done

Unknown macro: {tr}
Unknown macro: {td}

Parameters
file/fileName|fileArray/fileNameArray
serverFile/serverFileName|serverFileArray/serverFileNameArray
[callbackFunction]

Unknown macro: {tr}
Unknown macro: {td}

Returns
void

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
// transfer the first file of the default server folder to a chosen file on the client
	var dir = plugins.file.getDesktopFolder();
	var file = plugins.file.showFileSaveDialog(dir,'Save file to');
	if (file) {
		var list = plugins.file.getRemoteList('/', true);
		if (list && list.length > 0) {
			plugins.file.streamFilesFromServer(file, list[0], callbackFunction);
		}
	}
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
streamFilesToServer
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

void

Unknown macro: {span}

streamFilesToServer

Unknown macro: {span}

(file/fileName|fileArray/fileNameArray, [serverFile/serverFileName|serverFileArray/serverFileNameArray], [callbackFunction])

Unknown macro: {tr}
Unknown macro: {td}

Streams a file or an array of files to the server in a background task - with optional relative path(s)/(new) name(s). If provided, calls back a Servoy function when done

Unknown macro: {tr}
Unknown macro: {td}

Parameters
file/fileName|fileArray/fileNameArray
[serverFile/serverFileName|serverFileArray/serverFileNameArray]
[callbackFunction]

Unknown macro: {tr}
Unknown macro: {td}

Returns
void

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
// send one file:
	var file = plugins.file.showFileOpenDialog( 1, null, false, null, null, 'Choose a file to transfer' );
	if (file) {
		plugins.file.streamFilesToServer( file, callbackFunction );
	}
	// send an array of files:
	var folder = plugins.file.showDirectorySelectDialog();
	if (folder) {
		var files = plugins.file.getFolderContents(folder);
		if (files) {
			plugins.file.streamFilesToServer( files, callbackFunction );
		}
	}
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
writeFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Boolean

Unknown macro: {span}

writeFile

Unknown macro: {span}

(file, binary_data, [mimeType])

Unknown macro: {tr}
Unknown macro: {td}

Writes data into a binary file. (Web Enabled)

Unknown macro: {tr}
Unknown macro: {td}

Parameters
file
binary_data
[mimeType]

Unknown macro: {tr}
Unknown macro: {td}

Returns
Boolean

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var bytes = new Array();
	for (var i=0; i<1024; i++)
		bytes[i] = i % 100;
	var f = plugins.file.convertToJSFile('bin.dat');
	if (!plugins.file.writeFile(f, bytes))
		application.output('Failed to write the file.');
	// mimeType variable can be left null, and is used for webclient only. Specify one of any valid mime types as referenced here: http://www.w3schools.com/media/media_mimeref.asp'
	var mimeType = 'application/vnd.ms-excel'
	if (!plugins.file.writeFile(f, bytes, mimeType))
		application.output('Failed to write the file.');
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
writeTXTFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Boolean

Unknown macro: {span}

writeTXTFile

Unknown macro: {span}

(file, text_data, [charsetname], [mimeType])

Unknown macro: {tr}
Unknown macro: {td}

Writes data into a text file. (Web Enabled)

Unknown macro: {tr}
Unknown macro: {td}

Parameters
file
text_data
[charsetname]
[mimeType]

Unknown macro: {tr}
Unknown macro: {td}

Returns
Boolean

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var fileNameSuggestion = 'myspecialexport.tab'
	var textData = 'load of data...'
	var success = plugins.file.writeTXTFile(fileNameSuggestion, textData);
	if (!success) application.output('Could not write file.');
	// For file-encoding parameter options (default OS encoding is used), http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html
	// mimeType variable can be left null, and is used for webclient only. Specify one of any valid mime types as referenced here: http://www.w3schools.com/media/media_mimeref.asp'
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {tbody}
Unknown macro: {tr}
Unknown macro: {td}
writeXMLFile
Unknown macro: {tr}
Unknown macro: {td}
Unknown macro: {span}

Boolean

Unknown macro: {span}

writeXMLFile

Unknown macro: {span}

(file, xml_data)

Unknown macro: {tr}
Unknown macro: {td}

Writes data into an XML file. The file is saved with the encoding specified by the XML itself. (Web Enabled)

Unknown macro: {tr}
Unknown macro: {td}

Parameters
file
xml_data

Unknown macro: {tr}
Unknown macro: {td}

Returns
Boolean

Unknown macro: {tr}
Unknown macro: {td}

Sample

Unknown macro: {div}
var fileName = 'form.xml'
var xml = controller.printXML()
var success = plugins.file.writeXMLFile(fileName, xml);
if (!success) application.output('Could not write file.');
Unknown macro: {tr}
Unknown macro: {td}
  • No labels