Sahi Pro - File Manipulation APIs

Text Files

_readFile

_readFile($filePath)

Arguments
$filePathstring File path of file ot be read as text

Details

Reads the file and returns a string. Assumes UTF-8 encoding of file.
var $contents = _readFile("users.txt");

_writeFile

_writeFile($string, $filePath[, $overwrite[, $encoding]])

Arguments
$stringstring String to write to file.
$filePathstring File path of file to write into. File path is resolved relative to current script file.
$overwriteboolean optionalIf true, overwrites content. Default is false, which appends at the end of existing content.
$encodingstring optionalEncoding to be used while writing. Default is "UTF-8"

Details

_writeFile("First Line", "out.txt", true); // over writes content in file
_writeFile("Second Line", "out.txt"); // appends second line in file

_writeToFile

_writeToFile($string, $filePath[, $overwrite[, $encoding]])

Arguments
$stringstring String to write to file.
$filePathstring File path of file to write into. File path is resolved relative to current script file.
$overwriteboolean optionalIf true, overwrites content. Default is false, which appends at the end of existing content.
$encodingstring optionalEncoding to be used while writing. Default is "UTF-8"

Details

This API is the same as _writeFile. Only the name is different.

_deleteFile

_deleteFile($filePath)

Arguments
$filePathstring File path of file to delete. File path is resolved relative to current script file.

Details

_deleteFile("out.txt"); // deletes out.txt

_renameFile

_renameFile($oldFilePath, $newFilePath)

Arguments
$oldFilePathstring File path of file to rename. File path is resolved relative to current script file.
$newFilePathstring New path of file to write into. File path is resolved relative to current script file.

Details

Renames or moves a file from oldFilePath to newFilePath
_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

_copyFile

_copyFile($srcFilePath, $destFilePath)

Arguments
$srcFilePathstring File path of an existing file to copy, must not be null
$destFilePathstring File path of the new file, must not be null

Details

copy a file from srcFilePath to destFilePath
_copyFile("source.txt", "dest.txt"); // copies the source.txt into dest.txt

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.

_readCSVFile

_readCSVFile($filePath[, $wordSeparator])

Arguments
$filePathstring file path to csv file.
$wordSeparatorstring optional Word separator character. Defaults to comma.

Details

Returns a 2 dimensional array of all values in the csv file.

Given a userinfo.csv file with data
1,Ram,18,Male
2,Sam,20,Male

var $userinfo = _readCSVFile("data/userinfo.csv");
var $userName = $userinfo[0][1]; // returns Ram

_writeCSVFile

_writeCSVFile($array2d, $filePath[, $overwrite[, $wordSeparator]])

Arguments
$array2d2 dimensional array Two dimensional array of data.
$filePathstring File path of csv file to write to.
$overwriteboolean optional If true, overwrites data. Default is false, which appends data.
$wordSeparatorstring optional Word separator character. Defaults to comma.

Details

Writes the 2 dimensional array into the csv file.
var $data = [];
$data[0] = ["1", "Ram", 18, "Male"];
$data[1] = ["2", "Sam", 20, "Male"];

_writeCSVFile($data, "data/userinfo.csv", true); // overwrites data into userinfo.csv

var $moreData = [["3", "Lak", 30, "Male"]];
_writeCSVFile($moreData, "data/userinfo.csv"); // appends one more row into userinfo.csv

The above code will create data/userinfo.csv with data

1,Ram,18,Male
2,Sam,20,Male
3,Lak,30,Male