File Manipulation APIs
Text Files
Reads the file and returns a string.
Parameters
$filePath | string | File path of file to be read as text. File path is resolved relative to current script file.
File path of file to be read as text. File path is resolved relative to files folder of the current project. |
$encoding | string optional | Encodes the data in file. Defaults to "UTF-8" |
Return Value
string | Content of the file |
Modes Supported :
Raw Script
var $contents = _readFile("users.txt");
Sahi Pro Classic API :_readFile
Parameters
$string | string | String to write to file. |
$filePath | string | File path of file to write into. File path is resolved relative to current script file.
File path of file to write into. File path is resolved relative to files folder of the current project. |
$overwrite | boolean optional | If true, overwrites content. Default is false, which appends at the end of existing content. |
$encoding | string optional | Encoding to be used while writing. Default is "UTF-8" |
Return Value
Modes Supported :
Raw Script
_writeFile("First Line", "out.txt", true); // overwrites content in file
_writeFile("Second Line", "out.txt"); // appends second line in file
Sahi Pro Classic API :_writeFile
This API is the same as _writeFile. Only the name is different.
Parameters
$string | string | String to write to file. |
$filePath | string | File path of file to write into. File path is resolved relative to current script file.
File path of file to write into. File path is resolved relative to files folder of the current project. |
$overwrite | boolean optional | If true, overwrites content. Default is false, which appends at the end of existing content. |
$encoding | string optional | Encoding to be used while writing. Default is "UTF-8" |
Return Value
Modes Supported :
Raw Script
Sahi Pro Classic API :_writeToFile
Parameters
$filePath | string | File path of file to delete. File path is resolved relative to current script file.
File path of file to delete. File path is resolved relative to files folder of the current project. |
Return Value
boolean | true if the file was deleted on the filesystem, else false |
Modes Supported :
Raw Script
_deleteFile("out.txt"); // deletes out.txt
Sahi Pro Classic API :_deleteFile
Parameters
$filePath | string | File path of file to check. File path is resolved relative to current script file.
File path of file to check. File path is resolved relative to files folder of the current project. |
Return Value
boolean | true if the file exists on the filesystem, else false |
Modes Supported :
Raw Script
_fileExists("out.txt"); // returns true if out.txt exists.
Sahi Pro Classic API :_fileExists
Renames or moves a file from oldFilePath to newFilePath
Parameters
$oldFilePath | string | File path of file to rename. File path is resolved relative to current script file.
File path of file to rename. File path is resolved relative to files folder of the current project. |
$newFilePath | string | New path of file to write into. File path is resolved relative to current script file.
New path of file to write into. File path is resolved relative to files folder of the current project. |
Return Value
boolean | true if the file was renamed on the filesystem, else false |
Modes Supported :
Raw Script
_renameFile("original.txt", "renamed.txt"); // renames original.txt to renamed.txt
_renameFile("original.txt", "newPath/renamed.txt"); // moves and renames original.txt to newPath/renamed.txt
Sahi Pro Classic API :_renameFile
copy a file from srcFilePath to destFilePath
Parameters
$srcFilePath | string | File path of an existing file to copy, must not be null. File path is resolved relative to current script file.
File path of an existing file to copy, must not be null. File path is resolved relative to files folder of the current project. |
$destFilePath | string | File path of the new file, must not be null. File path is resolved relative to current script file.
File path of the new file, must not be null. File path is resolved relative to files folder of the current project. |
Return Value
Modes Supported :
Raw Script
_copyFile("source.txt", "dest.txt"); // copies the source.txt into dest.txt
Sahi Pro Classic API :_copyFile
CSV Files
CSV Files are a convenient way to store data. Being text based, they can be easily version controlled and diffed. Sahi has APIs to read and write to CSV Files.
includeHeader default value is changed to false from version 8.0.0. To make previous version scripts continue as it is, change
csv.include_header
property to true
in userdata.properties
.
Read CSVFile api expect only one char for Word separator.
If $wordSeparator has more than one char, only first char will be taken as $wordSeparator.
Given a userinfo.csv file with data
Parameters
$filePath | string | file path to csv file. File path is resolved relative to current script file.
file path to csv file. File path is resolved relative to files folder of the current project. |
$props | object optional | Properties to specify for: wordSeparator: string: Word separator character. Defaults to comma. ignoreEmptyRows: boolean: Ignores the empty lines. Defaults to false. includeHeader: boolean: If true, returns the header row also as the first row. Defaults to false. encoding: string: Encodes the data in csv file. Defaults to "UTF-8". |
Return Value
two dimensional array of strings | a 2 dimensional array of all values in the csv file |
Modes Supported :
Raw Script
1,Ram,18,Male
2,Sam,20,Male
Sahi Pro Classic API :_readCSVFile
infoNOTE: $forceQuotes was added Since Sahi Pro: 6.2.0. For old document Refer here
             $padEmptyCells was added Since Sahi Pro: 7.0.0. For old document Refer here
Parameters
$array2d | 2 dimensional array | Two dimensional array of data. |
$filePath | string | File path of csv file to write to. File path is resolved relative to current script file.
File path of csv file to write to. File path is resolved relative to files folder of the current project. |
$overwrite | boolean optional | If true, overwrites data. Default is false, which appends data. |
$wordSeparator | string optional | Word separator character. Defaults to comma. |
$forceQuotes | boolean optional | Force strings to be inside quotes in the csv file. Defaults to true. |
$padEmptyCells | boolean optional | Empty cells at the end of rows are not trimmed. Ensures an equal number of commas (separators) in each line. Defaults to false. |
Return Value
Modes Supported :
Raw Script
var $data = [];
$data[0] = ["1", "Ram", 18, "Male"];
$data[1] = ["2", "Sam", 20];
_writeCSVFile($data, "data/userinfo.csv", false, ",", true, true);
//forces data to be inside quotes with specified word separator and empty cells at the end of rows are not trimmed.
//appends data into userinfo.csv.
var $moreData = [["3", "Lak", 30, "Male","Married"]];
_writeCSVFile($moreData, "data/userinfo.csv", false, ",", true, true);
Sahi Pro Classic API :_writeCSVFile