This class enables reading and writing files to disk. More...
| string | baseName() |
| string | canonicalPath() |
| void | close() |
| string | currentPath() |
| bool | exists() |
| void | find(string path, string s) |
| void | findDir(string path, string s) |
| void | findNext() |
| string | filename |
| string | homePath() |
| bool | isDir(string base) |
| bool | link(string linkname) |
| bool | mkDir(string baseDir, string name) |
| bool | open(bool mode=true) |
| string | path() |
| string | projectPath() |
| string | read() |
| intList | readBinary() |
| bool | remove() |
| bool | rename(string newName) |
| bool | rmDir(string baseDir, string name) |
| void | setCurrentPath(string path) |
| void | setCodec(string codec) |
| string | suffix() |
| string | tempPath() |
| void | write(string s) |
| void | writeBinary(intList list) |
A file is a local object for reading and writing disk files and for a few directory helpers. Construct file f, set filename, call open, then read or write, then close. open(true) is read-only; open(false) is write-only. read returns the whole file as a string; readBinary returns an intList with one int per byte. find and findDir search under a path and store a match in filename; findNext continues that search. Static members homePath, tempPath, projectPath, mkDir, rmDir, and isDir do not need an open file. This class exists only for LayoutEditor C++ macros. Python scripts use the language's own file and path libraries.
Example:
file f;
// add platform specific path like "/home/username/filename" or "c:/my Files/filename.txt"
string s="poly_on_23.txt";
f.filename=s;
bool b=false;
//open for output
f.open(b);
s="data";
// write string
f.write(s);
// close file
f.close();
Returns: the base name of the file without the path and suffix.
Returns: the canonical path of the file without any '.' and '..'. (introduced with release 20210102)
Closes the file.
Returns: the current working path.
Set filename before calling this method.
Returns: true if that file exists, otherwise false.
file f;
f.filename="myfile.txt";
if (f.exists()) {
// do something
}
Finds a file matching search string s under path. If a match is found, filename is set. Otherwise filename is set to an empty string.
| Parameter: | |
|---|---|
| path | path |
| s | text |
Finds a folder matching search string s under path. If a match is found, filename is set. Otherwise filename is set to an empty string.
| Parameter: | |
|---|---|
| path | path |
| s | text |
Finds another match after find or findDir. If a match is found, filename is set. Otherwise filename is set to an empty string.
Name of the file to operate with. Set this before open, exists, remove, or rename.
Returns: the user's home path.
Returns: true if base is an existing directory, otherwise false.
Creates linkname as a link to the current filename.
Returns: true if the link was created, otherwise false.
Creates the folder name inside baseDir.
Returns: true if successful, otherwise false.
| Parameter: | |
|---|---|
| baseDir | baseDir |
| name | name |
Opens the file named in filename. If mode is true, the file is opened read-only. If mode is false, the file is opened write-only.
Returns: true if the operation was successful, otherwise false.
Returns: the file's path without the file name.
Returns: the path where the LayoutEditor was started from. In most applications this is the project folder. (introduced with release 20201229)
Returns: the whole file as a string.
Returns: the whole file as an intList. Each byte becomes one int.
intList list;
file f;
f.filename="data.bin";
bool b=true;
//open for input
f.open(b);
list=f.readBinary();
// close file
f.close();
Removes the file specified by filename.
Returns: true if successful, otherwise false.
Renames the file specified by filename to newName.
Returns: true if successful, otherwise false.
Removes the folder name inside baseDir.
Returns: true if successful, otherwise false.
| Parameter: | |
|---|---|
| baseDir | baseDir |
| name | name |
Sets the default working directory to path.
Uses codec to encode input and output. Many codecs are supported, such as UTF-8, UTF-16, ISO-8859-13.
Returns: the suffix of the file.
Returns: the system's temporary-files path.
Overwrites the file with string s.
Overwrites the file with intList list. Each int is written as one byte.
file f;
f.filename="data.bin";
bool b=false;
//open for output
f.open(b);
intList list;
list.append(1);
list.append(32);
list.append(67);
f.writeBinary(list);
// close file
f.close();