{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
{sub-section:description|text=}{sub-section}\\{table:class=servoy sReturnTypes}{tr:style=height: 30px;}{th}Return Types{th}{tr}{tr}{td}{span:class=sWordList}[JSFile]{span}{td}{tr}{table}\\{table:class=servoy sSummery}{colgroup}{column:width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[JSFile]{td}{td}[#convertToJSFile]\(file)
Returns a JSFile instance corresponding to an alternative representation of a file (for example a string).{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#copyFile]\(sourceFile, destinationFile)
Copies the sourcefile to the destination file.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#copyFolder]\(sourceFolder, destinationFolder)
Copies the sourcefolder to the destination folder, recursively.{td}{tr}{tbody}{tbody}{tr}{td}[JSFile]{td}{td}[#createFile]\(targetFile)
Creates a JSFile instance.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#createFolder]\(targetFolder)
Creates a folder on disk.{td}{tr}{tbody}{tbody}{tr}{td}[JSFile]{td}{td}[#createTempFile]\(filePrefix, fileSuffix)
Creates a temporary file on disk.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#deleteFile]\(targetFile)
Removes a file from disk.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#deleteFolder]\(targetFolder, showWarning)
Deletes a folder from disk recursively.{td}{tr}{tbody}{tbody}{tr}{td}[JSFile]{td}{td}[#getDesktopFolder]\()
Returns a JSFile instance that corresponds to the Desktop folder of the currently logged in user.{td}{tr}{tbody}{tbody}{tr}{td}[JSFile]\[]{td}{td}[#getDiskList]\()
Returns an Array of JSFile instances correponding to the file system root folders.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#getFileSize]\(targetFile)
Returns the size of the specified file.{td}{tr}{tbody}{tbody}{tr}{td}[JSFile]\[]{td}{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.{td}{tr}{tbody}{tbody}{tr}{td}[JSFile]{td}{td}[#getHomeDirectory]\()
Returns a JSFile instance corresponding to the home folder of the logged in used.{td}{tr}{tbody}{tbody}{tr}{td}[Date]{td}{td}[#getModificationDate]\(targetFile)
Returns the modification date of a file.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#moveFile]\(sourceFile, destinationFile)
Moves the file from the source to the destination place.{td}{tr}{tbody}{tbody}{tr}{td}byte[]{td}{td}[#readFile]\(file, size)
Reads all or part of the content from a binary file.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#readTXTFile]\(file, charsetname)
Read all content from a text file.{td}{tr}{tbody}{tbody}{tr}{td}[JSFile]{td}{td}[#showDirectorySelectDialog]\(directory suggestion)
Shows a directory selector dialog.{td}{tr}{tbody}{tbody}{tr}{td}Object{td}{td}[#showFileOpenDialog]\(selectionMode(0=both,1=Files,2=Dirs), startDirectory(null=default/previous), multiselect(true/false), filterarray)
Shows a file open dialog.{td}{tr}{tbody}{tbody}{tr}{td}[JSFile]{td}{td}[#showFileSaveDialog]\(fileName/dir suggestion)
Shows a file save dialog.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#writeFile]\(file, binary_data)
Writes data into a binary file.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#writeTXTFile]\(file, text_data, charsetname)
Writes data into a text file.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#writeXMLFile]\(file, xml_data)
Writes data into an XML file.{td}{tr}{tbody}{table}\\{table:class=servoy sDetail}{colgroup}{column:width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F}{tr:id=name}{td}h6.convertToJSFile{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSFile]{span}{span:id=iets|style=float: left; font-weight: bold;}convertToJSFile{span}{span:id=iets|style=float: left;}\(file){span}{td}{tr}{tr:id=des}{td}{sub-section:6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F_des|text=|trigger=button}{sub-section}{sub-section:6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F_des|trigger=none|class=sIndent}Returns a JSFile instance corresponding to an alternative representation of a file (for example a string).{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F_prs|trigger=none}file
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F_ret|text=|trigger=button}{sub-section}{sub-section:6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F_ret|trigger=none|class=sIndent}[JSFile]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F_see|text=|trigger=button}{sub-section}{sub-section:6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F_see|text=|trigger=button}{sub-section}{sub-section:6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F_sam|text=|trigger=button}{sub-section}{sub-section:6C93E2F3-1AF9-45F9-9491-5BDD2DC2F68F_sam|class=sIndent|trigger=none}{code:language=javascript}
var f = plugins.file.convertToJSFile("story.txt");
if (f.canRead())
	application.output("File can be read.");
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D}{tr:id=name}{td}h6.copyFile{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}copyFile{span}{span:id=iets|style=float: left;}\(sourceFile, destinationFile){span}{td}{tr}{tr:id=des}{td}{sub-section:7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D_des|text=|trigger=button}{sub-section}{sub-section:7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D_des|trigger=none|class=sIndent}Copies the sourcefile to the destination file. Returns true if the copy succeeds, false if any error occurs.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D_prs|trigger=none}sourceFile
destinationFile
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D_ret|text=|trigger=button}{sub-section}{sub-section:7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D_see|text=|trigger=button}{sub-section}{sub-section:7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D_see|text=|trigger=button}{sub-section}{sub-section:7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D_sam|text=|trigger=button}{sub-section}{sub-section:7DB358FF-DDFB-4025-90BF-A6CBC12CBA3D_sam|class=sIndent|trigger=none}{code:language=javascript}
// 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.");
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=129F24C3-8063-4F51-9DB2-D1D36D65D4E3}{tr:id=name}{td}h6.copyFolder{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}copyFolder{span}{span:id=iets|style=float: left;}\(sourceFolder, destinationFolder){span}{td}{tr}{tr:id=des}{td}{sub-section:129F24C3-8063-4F51-9DB2-D1D36D65D4E3_des|text=|trigger=button}{sub-section}{sub-section:129F24C3-8063-4F51-9DB2-D1D36D65D4E3_des|trigger=none|class=sIndent}Copies the sourcefolder to the destination folder, recursively. Returns true if the copy succeeds, false if any error occurs.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:129F24C3-8063-4F51-9DB2-D1D36D65D4E3_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:129F24C3-8063-4F51-9DB2-D1D36D65D4E3_prs|trigger=none}sourceFolder
destinationFolder
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:129F24C3-8063-4F51-9DB2-D1D36D65D4E3_ret|text=|trigger=button}{sub-section}{sub-section:129F24C3-8063-4F51-9DB2-D1D36D65D4E3_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:129F24C3-8063-4F51-9DB2-D1D36D65D4E3_see|text=|trigger=button}{sub-section}{sub-section:129F24C3-8063-4F51-9DB2-D1D36D65D4E3_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:129F24C3-8063-4F51-9DB2-D1D36D65D4E3_see|text=|trigger=button}{sub-section}{sub-section:129F24C3-8063-4F51-9DB2-D1D36D65D4E3_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:129F24C3-8063-4F51-9DB2-D1D36D65D4E3_sam|text=|trigger=button}{sub-section}{sub-section:129F24C3-8063-4F51-9DB2-D1D36D65D4E3_sam|class=sIndent|trigger=none}{code:language=javascript}
// 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.");
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=0553F53C-5A85-4D74-8327-AA3377B57C57}{tr:id=name}{td}h6.createFile{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSFile]{span}{span:id=iets|style=float: left; font-weight: bold;}createFile{span}{span:id=iets|style=float: left;}\(targetFile){span}{td}{tr}{tr:id=des}{td}{sub-section:0553F53C-5A85-4D74-8327-AA3377B57C57_des|text=|trigger=button}{sub-section}{sub-section:0553F53C-5A85-4D74-8327-AA3377B57C57_des|trigger=none|class=sIndent}Creates a JSFile instance. Does not create the file on disk.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:0553F53C-5A85-4D74-8327-AA3377B57C57_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:0553F53C-5A85-4D74-8327-AA3377B57C57_prs|trigger=none}targetFile
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:0553F53C-5A85-4D74-8327-AA3377B57C57_ret|text=|trigger=button}{sub-section}{sub-section:0553F53C-5A85-4D74-8327-AA3377B57C57_ret|trigger=none|class=sIndent}[JSFile]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:0553F53C-5A85-4D74-8327-AA3377B57C57_see|text=|trigger=button}{sub-section}{sub-section:0553F53C-5A85-4D74-8327-AA3377B57C57_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:0553F53C-5A85-4D74-8327-AA3377B57C57_see|text=|trigger=button}{sub-section}{sub-section:0553F53C-5A85-4D74-8327-AA3377B57C57_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:0553F53C-5A85-4D74-8327-AA3377B57C57_sam|text=|trigger=button}{sub-section}{sub-section:0553F53C-5A85-4D74-8327-AA3377B57C57_sam|class=sIndent|trigger=none}{code:language=javascript}
// 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.");
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A}{tr:id=name}{td}h6.createFolder{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}createFolder{span}{span:id=iets|style=float: left;}\(targetFolder){span}{td}{tr}{tr:id=des}{td}{sub-section:52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A_des|text=|trigger=button}{sub-section}{sub-section:52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A_des|trigger=none|class=sIndent}Creates a folder on disk. Returns true if the folder is successfully created, false if any error occurs.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A_prs|trigger=none}targetFolder
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A_ret|text=|trigger=button}{sub-section}{sub-section:52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A_see|text=|trigger=button}{sub-section}{sub-section:52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A_see|text=|trigger=button}{sub-section}{sub-section:52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A_sam|text=|trigger=button}{sub-section}{sub-section:52301F02-DC8F-4AB2-AF94-1F7C5CA1E92A_sam|class=sIndent|trigger=none}{code:language=javascript}
var d = plugins.file.convertToJSFile("newfolder");
if (!plugins.file.createFolder(d))
	application.output("Folder could not be created.");
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=23D922BA-76B1-455D-A5C9-FBEFCA63CD2E}{tr:id=name}{td}h6.createTempFile{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSFile]{span}{span:id=iets|style=float: left; font-weight: bold;}createTempFile{span}{span:id=iets|style=float: left;}\(filePrefix, fileSuffix){span}{td}{tr}{tr:id=des}{td}{sub-section:23D922BA-76B1-455D-A5C9-FBEFCA63CD2E_des|text=|trigger=button}{sub-section}{sub-section:23D922BA-76B1-455D-A5C9-FBEFCA63CD2E_des|trigger=none|class=sIndent}Creates a temporary file on disk. A prefix and an extension are specified and they will be part of the file name.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:23D922BA-76B1-455D-A5C9-FBEFCA63CD2E_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:23D922BA-76B1-455D-A5C9-FBEFCA63CD2E_prs|trigger=none}filePrefix
fileSuffix
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:23D922BA-76B1-455D-A5C9-FBEFCA63CD2E_ret|text=|trigger=button}{sub-section}{sub-section:23D922BA-76B1-455D-A5C9-FBEFCA63CD2E_ret|trigger=none|class=sIndent}[JSFile]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:23D922BA-76B1-455D-A5C9-FBEFCA63CD2E_see|text=|trigger=button}{sub-section}{sub-section:23D922BA-76B1-455D-A5C9-FBEFCA63CD2E_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:23D922BA-76B1-455D-A5C9-FBEFCA63CD2E_see|text=|trigger=button}{sub-section}{sub-section:23D922BA-76B1-455D-A5C9-FBEFCA63CD2E_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:23D922BA-76B1-455D-A5C9-FBEFCA63CD2E_sam|text=|trigger=button}{sub-section}{sub-section:23D922BA-76B1-455D-A5C9-FBEFCA63CD2E_sam|class=sIndent|trigger=none}{code:language=javascript}
var tempFile = plugins.file.createTempFile('myfile','.txt');
application.output('Temporary file created as: ' + tempFile.getAbsolutePath());
plugins.file.writeTXTFile(tempFile, 'abcdefg');
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7}{tr:id=name}{td}h6.deleteFile{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}deleteFile{span}{span:id=iets|style=float: left;}\(targetFile){span}{td}{tr}{tr:id=des}{td}{sub-section:2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7_des|text=|trigger=button}{sub-section}{sub-section:2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7_des|trigger=none|class=sIndent}Removes a file from disk. Returns true on success, false otherwise.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7_prs|trigger=none}targetFile
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7_ret|text=|trigger=button}{sub-section}{sub-section:2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7_see|text=|trigger=button}{sub-section}{sub-section:2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7_see|text=|trigger=button}{sub-section}{sub-section:2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7_sam|text=|trigger=button}{sub-section}{sub-section:2BBF95E7-C0A4-4EC3-B0AE-04D6F46BAAB7_sam|class=sIndent|trigger=none}{code:language=javascript}
if (plugins.file.deleteFile('story.txt'))
	application.output('File deleted.');
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=BF758D5D-2B2A-4755-89F8-3C6DFC3ED668}{tr:id=name}{td}h6.deleteFolder{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}deleteFolder{span}{span:id=iets|style=float: left;}\(targetFolder, showWarning){span}{td}{tr}{tr:id=des}{td}{sub-section:BF758D5D-2B2A-4755-89F8-3C6DFC3ED668_des|text=|trigger=button}{sub-section}{sub-section:BF758D5D-2B2A-4755-89F8-3C6DFC3ED668_des|trigger=none|class=sIndent}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.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:BF758D5D-2B2A-4755-89F8-3C6DFC3ED668_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:BF758D5D-2B2A-4755-89F8-3C6DFC3ED668_prs|trigger=none}targetFolder
showWarning
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:BF758D5D-2B2A-4755-89F8-3C6DFC3ED668_ret|text=|trigger=button}{sub-section}{sub-section:BF758D5D-2B2A-4755-89F8-3C6DFC3ED668_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:BF758D5D-2B2A-4755-89F8-3C6DFC3ED668_see|text=|trigger=button}{sub-section}{sub-section:BF758D5D-2B2A-4755-89F8-3C6DFC3ED668_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:BF758D5D-2B2A-4755-89F8-3C6DFC3ED668_see|text=|trigger=button}{sub-section}{sub-section:BF758D5D-2B2A-4755-89F8-3C6DFC3ED668_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:BF758D5D-2B2A-4755-89F8-3C6DFC3ED668_sam|text=|trigger=button}{sub-section}{sub-section:BF758D5D-2B2A-4755-89F8-3C6DFC3ED668_sam|class=sIndent|trigger=none}{code:language=javascript}
if (plugins.file.deleteFolder('stories', true))
	application.output('Folder deleted.');
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=DDCC5B94-2BBB-4C6C-8A85-5B79480816FE}{tr:id=name}{td}h6.getDesktopFolder{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSFile]{span}{span:id=iets|style=float: left; font-weight: bold;}getDesktopFolder{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:DDCC5B94-2BBB-4C6C-8A85-5B79480816FE_des|text=|trigger=button}{sub-section}{sub-section:DDCC5B94-2BBB-4C6C-8A85-5B79480816FE_des|trigger=none|class=sIndent}Returns a JSFile instance that corresponds to the Desktop folder of the currently logged in user.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:DDCC5B94-2BBB-4C6C-8A85-5B79480816FE_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:DDCC5B94-2BBB-4C6C-8A85-5B79480816FE_prs|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:DDCC5B94-2BBB-4C6C-8A85-5B79480816FE_ret|text=|trigger=button}{sub-section}{sub-section:DDCC5B94-2BBB-4C6C-8A85-5B79480816FE_ret|trigger=none|class=sIndent}[JSFile]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:DDCC5B94-2BBB-4C6C-8A85-5B79480816FE_see|text=|trigger=button}{sub-section}{sub-section:DDCC5B94-2BBB-4C6C-8A85-5B79480816FE_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:DDCC5B94-2BBB-4C6C-8A85-5B79480816FE_see|text=|trigger=button}{sub-section}{sub-section:DDCC5B94-2BBB-4C6C-8A85-5B79480816FE_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:DDCC5B94-2BBB-4C6C-8A85-5B79480816FE_sam|text=|trigger=button}{sub-section}{sub-section:DDCC5B94-2BBB-4C6C-8A85-5B79480816FE_sam|class=sIndent|trigger=none}{code:language=javascript}
var d = plugins.file.getDesktopFolder();
application.output('desktop folder is: ' + d.getAbsolutePath());
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=F13B7911-27B6-465E-8360-F42A8DF6C67E}{tr:id=name}{td}h6.getDiskList{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSFile]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getDiskList{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:F13B7911-27B6-465E-8360-F42A8DF6C67E_des|text=|trigger=button}{sub-section}{sub-section:F13B7911-27B6-465E-8360-F42A8DF6C67E_des|trigger=none|class=sIndent}Returns an Array of JSFile instances correponding to the file system root folders.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:F13B7911-27B6-465E-8360-F42A8DF6C67E_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:F13B7911-27B6-465E-8360-F42A8DF6C67E_prs|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:F13B7911-27B6-465E-8360-F42A8DF6C67E_ret|text=|trigger=button}{sub-section}{sub-section:F13B7911-27B6-465E-8360-F42A8DF6C67E_ret|trigger=none|class=sIndent}[JSFile]\[]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:F13B7911-27B6-465E-8360-F42A8DF6C67E_see|text=|trigger=button}{sub-section}{sub-section:F13B7911-27B6-465E-8360-F42A8DF6C67E_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:F13B7911-27B6-465E-8360-F42A8DF6C67E_see|text=|trigger=button}{sub-section}{sub-section:F13B7911-27B6-465E-8360-F42A8DF6C67E_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:F13B7911-27B6-465E-8360-F42A8DF6C67E_sam|text=|trigger=button}{sub-section}{sub-section:F13B7911-27B6-465E-8360-F42A8DF6C67E_sam|class=sIndent|trigger=none}{code:language=javascript}
var roots = plugins.file.getDiskList();
for (var i = 0; i < roots.length; i++)
	application.output(roots[i].getAbsolutePath());
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=2FF4210C-7585-4D9B-9E5A-E3816F971474}{tr:id=name}{td}h6.getFileSize{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}getFileSize{span}{span:id=iets|style=float: left;}\(targetFile){span}{td}{tr}{tr:id=des}{td}{sub-section:2FF4210C-7585-4D9B-9E5A-E3816F971474_des|text=|trigger=button}{sub-section}{sub-section:2FF4210C-7585-4D9B-9E5A-E3816F971474_des|trigger=none|class=sIndent}Returns the size of the specified file.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:2FF4210C-7585-4D9B-9E5A-E3816F971474_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:2FF4210C-7585-4D9B-9E5A-E3816F971474_prs|trigger=none}targetFile
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:2FF4210C-7585-4D9B-9E5A-E3816F971474_ret|text=|trigger=button}{sub-section}{sub-section:2FF4210C-7585-4D9B-9E5A-E3816F971474_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:2FF4210C-7585-4D9B-9E5A-E3816F971474_see|text=|trigger=button}{sub-section}{sub-section:2FF4210C-7585-4D9B-9E5A-E3816F971474_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:2FF4210C-7585-4D9B-9E5A-E3816F971474_see|text=|trigger=button}{sub-section}{sub-section:2FF4210C-7585-4D9B-9E5A-E3816F971474_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:2FF4210C-7585-4D9B-9E5A-E3816F971474_sam|text=|trigger=button}{sub-section}{sub-section:2FF4210C-7585-4D9B-9E5A-E3816F971474_sam|class=sIndent|trigger=none}{code:language=javascript}
var f = plugins.file.convertToJSFile('story.txt');
application.output('file size: ' + plugins.file.getFileSize(f));
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=7AEA6DB6-6537-4D07-B4CA-540058D7D4E3}{tr:id=name}{td}h6.getFolderContents{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSFile]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getFolderContents{span}{span:id=iets|style=float: left;}\(targetFolder, fileFilter, fileOption(1=files,2=dirs), visibleOption(1=visible,2=nonvisible), lockedOption(1=locked,2=nonlocked)){span}{td}{tr}{tr:id=des}{td}{sub-section:7AEA6DB6-6537-4D07-B4CA-540058D7D4E3_des|text=|trigger=button}{sub-section}{sub-section:7AEA6DB6-6537-4D07-B4CA-540058D7D4E3_des|trigger=none|class=sIndent}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.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:7AEA6DB6-6537-4D07-B4CA-540058D7D4E3_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:7AEA6DB6-6537-4D07-B4CA-540058D7D4E3_prs|trigger=none}targetFolder
\[fileFilter\]
\[fileOption(1=files,2=dirs)\]
\[visibleOption(1=visible,2=nonvisible)\]
\[lockedOption(1=locked,2=nonlocked)\]
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:7AEA6DB6-6537-4D07-B4CA-540058D7D4E3_ret|text=|trigger=button}{sub-section}{sub-section:7AEA6DB6-6537-4D07-B4CA-540058D7D4E3_ret|trigger=none|class=sIndent}[JSFile]\[]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:7AEA6DB6-6537-4D07-B4CA-540058D7D4E3_see|text=|trigger=button}{sub-section}{sub-section:7AEA6DB6-6537-4D07-B4CA-540058D7D4E3_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:7AEA6DB6-6537-4D07-B4CA-540058D7D4E3_see|text=|trigger=button}{sub-section}{sub-section:7AEA6DB6-6537-4D07-B4CA-540058D7D4E3_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:7AEA6DB6-6537-4D07-B4CA-540058D7D4E3_sam|text=|trigger=button}{sub-section}{sub-section:7AEA6DB6-6537-4D07-B4CA-540058D7D4E3_sam|class=sIndent|trigger=none}{code:language=javascript}
var files = plugins.file.getFolderContents('stories', '.txt');
for (var i=0; i<files.length; i++)
	application.output(files[i].getAbsolutePath());
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=16020D08-719A-4B40-AF4B-77AD0E12FA8B}{tr:id=name}{td}h6.getHomeDirectory{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSFile]{span}{span:id=iets|style=float: left; font-weight: bold;}getHomeDirectory{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:16020D08-719A-4B40-AF4B-77AD0E12FA8B_des|text=|trigger=button}{sub-section}{sub-section:16020D08-719A-4B40-AF4B-77AD0E12FA8B_des|trigger=none|class=sIndent}Returns a JSFile instance corresponding to the home folder of the logged in used.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:16020D08-719A-4B40-AF4B-77AD0E12FA8B_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:16020D08-719A-4B40-AF4B-77AD0E12FA8B_prs|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:16020D08-719A-4B40-AF4B-77AD0E12FA8B_ret|text=|trigger=button}{sub-section}{sub-section:16020D08-719A-4B40-AF4B-77AD0E12FA8B_ret|trigger=none|class=sIndent}[JSFile]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:16020D08-719A-4B40-AF4B-77AD0E12FA8B_see|text=|trigger=button}{sub-section}{sub-section:16020D08-719A-4B40-AF4B-77AD0E12FA8B_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:16020D08-719A-4B40-AF4B-77AD0E12FA8B_see|text=|trigger=button}{sub-section}{sub-section:16020D08-719A-4B40-AF4B-77AD0E12FA8B_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:16020D08-719A-4B40-AF4B-77AD0E12FA8B_sam|text=|trigger=button}{sub-section}{sub-section:16020D08-719A-4B40-AF4B-77AD0E12FA8B_sam|class=sIndent|trigger=none}{code:language=javascript}
var d = plugins.file.getHomeDirectory();
application.output('home folder: ' + d.getAbsolutePath());
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB}{tr:id=name}{td}h6.getModificationDate{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Date]{span}{span:id=iets|style=float: left; font-weight: bold;}getModificationDate{span}{span:id=iets|style=float: left;}\(targetFile){span}{td}{tr}{tr:id=des}{td}{sub-section:A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB_des|text=|trigger=button}{sub-section}{sub-section:A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB_des|trigger=none|class=sIndent}Returns the modification date of a file.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB_prs|trigger=none}targetFile
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB_ret|text=|trigger=button}{sub-section}{sub-section:A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB_ret|trigger=none|class=sIndent}[Date]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB_see|text=|trigger=button}{sub-section}{sub-section:A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB_see|text=|trigger=button}{sub-section}{sub-section:A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB_sam|text=|trigger=button}{sub-section}{sub-section:A07FBCD9-ADFD-4EDD-ADB3-F434656C42FB_sam|class=sIndent|trigger=none}{code:language=javascript}
var f = plugins.file.convertToJSFile('story.txt');
application.output('last changed: ' + plugins.file.getModificationDate(f));
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA}{tr:id=name}{td}h6.moveFile{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}moveFile{span}{span:id=iets|style=float: left;}\(sourceFile, destinationFile){span}{td}{tr}{tr:id=des}{td}{sub-section:47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA_des|text=|trigger=button}{sub-section}{sub-section:47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA_des|trigger=none|class=sIndent}Moves the file from the source to the destination place. Returns true on success, false otherwise.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA_prs|trigger=none}sourceFile
destinationFile
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA_ret|text=|trigger=button}{sub-section}{sub-section:47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA_see|text=|trigger=button}{sub-section}{sub-section:47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA_see|text=|trigger=button}{sub-section}{sub-section:47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA_sam|text=|trigger=button}{sub-section}{sub-section:47B8C5EA-9B51-46DC-8D49-3DAF744CE2FA_sam|class=sIndent|trigger=none}{code:language=javascript}
// 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.');
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=318A8560-E2DF-41FE-924A-A54C7EF24A05}{tr:id=name}{td}h6.readFile{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}byte[]{span}{span:id=iets|style=float: left; font-weight: bold;}readFile{span}{span:id=iets|style=float: left;}\(file, size){span}{td}{tr}{tr:id=des}{td}{sub-section:318A8560-E2DF-41FE-924A-A54C7EF24A05_des|text=|trigger=button}{sub-section}{sub-section:318A8560-E2DF-41FE-924A-A54C7EF24A05_des|trigger=none|class=sIndent}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.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:318A8560-E2DF-41FE-924A-A54C7EF24A05_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:318A8560-E2DF-41FE-924A-A54C7EF24A05_prs|trigger=none}\[file\]
\[size\]
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:318A8560-E2DF-41FE-924A-A54C7EF24A05_ret|text=|trigger=button}{sub-section}{sub-section:318A8560-E2DF-41FE-924A-A54C7EF24A05_ret|trigger=none|class=sIndent}byte[]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:318A8560-E2DF-41FE-924A-A54C7EF24A05_see|text=|trigger=button}{sub-section}{sub-section:318A8560-E2DF-41FE-924A-A54C7EF24A05_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:318A8560-E2DF-41FE-924A-A54C7EF24A05_see|text=|trigger=button}{sub-section}{sub-section:318A8560-E2DF-41FE-924A-A54C7EF24A05_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:318A8560-E2DF-41FE-924A-A54C7EF24A05_sam|text=|trigger=button}{sub-section}{sub-section:318A8560-E2DF-41FE-924A-A54C7EF24A05_sam|class=sIndent|trigger=none}{code:language=javascript}
// 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);
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=471DF468-A0E6-4EE3-8FDE-639109BA6342}{tr:id=name}{td}h6.readTXTFile{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}readTXTFile{span}{span:id=iets|style=float: left;}\(file, charsetname){span}{td}{tr}{tr:id=des}{td}{sub-section:471DF468-A0E6-4EE3-8FDE-639109BA6342_des|text=|trigger=button}{sub-section}{sub-section:471DF468-A0E6-4EE3-8FDE-639109BA6342_des|trigger=none|class=sIndent}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.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:471DF468-A0E6-4EE3-8FDE-639109BA6342_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:471DF468-A0E6-4EE3-8FDE-639109BA6342_prs|trigger=none}\[file\]
\[charsetname\]
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:471DF468-A0E6-4EE3-8FDE-639109BA6342_ret|text=|trigger=button}{sub-section}{sub-section:471DF468-A0E6-4EE3-8FDE-639109BA6342_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:471DF468-A0E6-4EE3-8FDE-639109BA6342_see|text=|trigger=button}{sub-section}{sub-section:471DF468-A0E6-4EE3-8FDE-639109BA6342_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:471DF468-A0E6-4EE3-8FDE-639109BA6342_see|text=|trigger=button}{sub-section}{sub-section:471DF468-A0E6-4EE3-8FDE-639109BA6342_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:471DF468-A0E6-4EE3-8FDE-639109BA6342_sam|text=|trigger=button}{sub-section}{sub-section:471DF468-A0E6-4EE3-8FDE-639109BA6342_sam|class=sIndent|trigger=none}{code:language=javascript}
// 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);
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=EEF08D83-512D-4F21-83D4-7DC0CA70FE47}{tr:id=name}{td}h6.showDirectorySelectDialog{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSFile]{span}{span:id=iets|style=float: left; font-weight: bold;}showDirectorySelectDialog{span}{span:id=iets|style=float: left;}\(directory suggestion){span}{td}{tr}{tr:id=des}{td}{sub-section:EEF08D83-512D-4F21-83D4-7DC0CA70FE47_des|text=|trigger=button}{sub-section}{sub-section:EEF08D83-512D-4F21-83D4-7DC0CA70FE47_des|trigger=none|class=sIndent}Shows a directory selector dialog.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:EEF08D83-512D-4F21-83D4-7DC0CA70FE47_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:EEF08D83-512D-4F21-83D4-7DC0CA70FE47_prs|trigger=none}\[directory suggestion\]
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:EEF08D83-512D-4F21-83D4-7DC0CA70FE47_ret|text=|trigger=button}{sub-section}{sub-section:EEF08D83-512D-4F21-83D4-7DC0CA70FE47_ret|trigger=none|class=sIndent}[JSFile]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:EEF08D83-512D-4F21-83D4-7DC0CA70FE47_see|text=|trigger=button}{sub-section}{sub-section:EEF08D83-512D-4F21-83D4-7DC0CA70FE47_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:EEF08D83-512D-4F21-83D4-7DC0CA70FE47_see|text=|trigger=button}{sub-section}{sub-section:EEF08D83-512D-4F21-83D4-7DC0CA70FE47_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:EEF08D83-512D-4F21-83D4-7DC0CA70FE47_sam|text=|trigger=button}{sub-section}{sub-section:EEF08D83-512D-4F21-83D4-7DC0CA70FE47_sam|class=sIndent|trigger=none}{code:language=javascript}
var dir = plugins.file.showDirectorySelectDialog();
application.output("you've selected folder: " + dir.getAbsolutePath());
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=28B16C92-D5C8-4430-BDA3-C716EBCA52C5}{tr:id=name}{td}h6.showFileOpenDialog{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}Object{span}{span:id=iets|style=float: left; font-weight: bold;}showFileOpenDialog{span}{span:id=iets|style=float: left;}\(selectionMode(0=both,1=Files,2=Dirs), startDirectory(null=default/previous), multiselect(true/false), filterarray){span}{td}{tr}{tr:id=des}{td}{sub-section:28B16C92-D5C8-4430-BDA3-C716EBCA52C5_des|text=|trigger=button}{sub-section}{sub-section:28B16C92-D5C8-4430-BDA3-C716EBCA52C5_des|trigger=none|class=sIndent}Shows a file open dialog. Filters can be applied on what type of files can be selected.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:28B16C92-D5C8-4430-BDA3-C716EBCA52C5_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:28B16C92-D5C8-4430-BDA3-C716EBCA52C5_prs|trigger=none}\[selectionMode(0=both,1=Files,2=Dirs)\]
\[startDirectory(null=default/previous)\]
\[multiselect(true/false)\]
\[filterarray\]
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:28B16C92-D5C8-4430-BDA3-C716EBCA52C5_ret|text=|trigger=button}{sub-section}{sub-section:28B16C92-D5C8-4430-BDA3-C716EBCA52C5_ret|trigger=none|class=sIndent}Object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:28B16C92-D5C8-4430-BDA3-C716EBCA52C5_see|text=|trigger=button}{sub-section}{sub-section:28B16C92-D5C8-4430-BDA3-C716EBCA52C5_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:28B16C92-D5C8-4430-BDA3-C716EBCA52C5_see|text=|trigger=button}{sub-section}{sub-section:28B16C92-D5C8-4430-BDA3-C716EBCA52C5_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:28B16C92-D5C8-4430-BDA3-C716EBCA52C5_sam|text=|trigger=button}{sub-section}{sub-section:28B16C92-D5C8-4430-BDA3-C716EBCA52C5_sam|class=sIndent|trigger=none}{code:language=javascript}
// 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());
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193}{tr:id=name}{td}h6.showFileSaveDialog{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSFile]{span}{span:id=iets|style=float: left; font-weight: bold;}showFileSaveDialog{span}{span:id=iets|style=float: left;}\(fileName/dir suggestion){span}{td}{tr}{tr:id=des}{td}{sub-section:9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193_des|text=|trigger=button}{sub-section}{sub-section:9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193_des|trigger=none|class=sIndent}Shows a file save dialog.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193_prs|trigger=none}\[fileName/dir suggestion\]
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193_ret|text=|trigger=button}{sub-section}{sub-section:9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193_ret|trigger=none|class=sIndent}[JSFile]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193_see|text=|trigger=button}{sub-section}{sub-section:9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193_see|text=|trigger=button}{sub-section}{sub-section:9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193_sam|text=|trigger=button}{sub-section}{sub-section:9AB8AC49-8B03-40E7-BB58-E8DA8E0FD193_sam|class=sIndent|trigger=none}{code:language=javascript}
var file = plugins.file.showFileSaveDialog();
application.output("you've selected file: " + file.getAbsolutePath());
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=DE060A02-6ACC-4E6C-AC8E-71ACC70D5723}{tr:id=name}{td}h6.writeFile{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}writeFile{span}{span:id=iets|style=float: left;}\(file, binary_data){span}{td}{tr}{tr:id=des}{td}{sub-section:DE060A02-6ACC-4E6C-AC8E-71ACC70D5723_des|text=|trigger=button}{sub-section}{sub-section:DE060A02-6ACC-4E6C-AC8E-71ACC70D5723_des|trigger=none|class=sIndent}Writes data into a binary file.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:DE060A02-6ACC-4E6C-AC8E-71ACC70D5723_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:DE060A02-6ACC-4E6C-AC8E-71ACC70D5723_prs|trigger=none}file
binary_data
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:DE060A02-6ACC-4E6C-AC8E-71ACC70D5723_ret|text=|trigger=button}{sub-section}{sub-section:DE060A02-6ACC-4E6C-AC8E-71ACC70D5723_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:DE060A02-6ACC-4E6C-AC8E-71ACC70D5723_see|text=|trigger=button}{sub-section}{sub-section:DE060A02-6ACC-4E6C-AC8E-71ACC70D5723_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:DE060A02-6ACC-4E6C-AC8E-71ACC70D5723_see|text=|trigger=button}{sub-section}{sub-section:DE060A02-6ACC-4E6C-AC8E-71ACC70D5723_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:DE060A02-6ACC-4E6C-AC8E-71ACC70D5723_sam|text=|trigger=button}{sub-section}{sub-section:DE060A02-6ACC-4E6C-AC8E-71ACC70D5723_sam|class=sIndent|trigger=none}{code:language=javascript}
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.');
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=FD433D5D-FC10-41E3-8355-69A579C804F5}{tr:id=name}{td}h6.writeTXTFile{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}writeTXTFile{span}{span:id=iets|style=float: left;}\(file, text_data, charsetname){span}{td}{tr}{tr:id=des}{td}{sub-section:FD433D5D-FC10-41E3-8355-69A579C804F5_des|text=|trigger=button}{sub-section}{sub-section:FD433D5D-FC10-41E3-8355-69A579C804F5_des|trigger=none|class=sIndent}Writes data into a text file.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:FD433D5D-FC10-41E3-8355-69A579C804F5_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:FD433D5D-FC10-41E3-8355-69A579C804F5_prs|trigger=none}file
text_data
\[charsetname\]
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:FD433D5D-FC10-41E3-8355-69A579C804F5_ret|text=|trigger=button}{sub-section}{sub-section:FD433D5D-FC10-41E3-8355-69A579C804F5_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:FD433D5D-FC10-41E3-8355-69A579C804F5_see|text=|trigger=button}{sub-section}{sub-section:FD433D5D-FC10-41E3-8355-69A579C804F5_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:FD433D5D-FC10-41E3-8355-69A579C804F5_see|text=|trigger=button}{sub-section}{sub-section:FD433D5D-FC10-41E3-8355-69A579C804F5_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:FD433D5D-FC10-41E3-8355-69A579C804F5_sam|text=|trigger=button}{sub-section}{sub-section:FD433D5D-FC10-41E3-8355-69A579C804F5_sam|class=sIndent|trigger=none}{code:language=javascript}
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
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=597B310E-870B-40C7-9CCE-AFE9E8829C83}{tr:id=name}{td}h6.writeXMLFile{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}writeXMLFile{span}{span:id=iets|style=float: left;}\(file, xml_data){span}{td}{tr}{tr:id=des}{td}{sub-section:597B310E-870B-40C7-9CCE-AFE9E8829C83_des|text=|trigger=button}{sub-section}{sub-section:597B310E-870B-40C7-9CCE-AFE9E8829C83_des|trigger=none|class=sIndent}Writes data into an XML file. The file is saved with the encoding specified by the XML itself.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:597B310E-870B-40C7-9CCE-AFE9E8829C83_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:597B310E-870B-40C7-9CCE-AFE9E8829C83_prs|trigger=none}file
xml_data
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:597B310E-870B-40C7-9CCE-AFE9E8829C83_ret|text=|trigger=button}{sub-section}{sub-section:597B310E-870B-40C7-9CCE-AFE9E8829C83_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:597B310E-870B-40C7-9CCE-AFE9E8829C83_see|text=|trigger=button}{sub-section}{sub-section:597B310E-870B-40C7-9CCE-AFE9E8829C83_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:597B310E-870B-40C7-9CCE-AFE9E8829C83_see|text=|trigger=button}{sub-section}{sub-section:597B310E-870B-40C7-9CCE-AFE9E8829C83_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:597B310E-870B-40C7-9CCE-AFE9E8829C83_sam|text=|trigger=button}{sub-section}{sub-section:597B310E-870B-40C7-9CCE-AFE9E8829C83_sam|class=sIndent|trigger=none}{code:language=javascript}
var fileName = 'form.xml'
var xml = controller.printXML()
var success = plugins.file.writeXMLFile(fileName, xml);
if (!success) application.output('Could not write file.');
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}