Class Reference file

This class enables reading and writing files to disk. More...

Member

string baseName()
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 link(string linkname)
bool open(bool mode=true)
string path()
string read()
intList readBinary()
bool remove()
void setCurrentPath(string path)
void setCodec(string codec)
string suffix()
string tempPath()
void write(string s)
void writeBinary(intList list)

Detailed Description

This class provides a interface for reading and writing files. Also a access to directories is provided.

Typical step to read/write files are: create a file class, set the filename, open the file, read or write the data and close the file.

Example:

  file f;

  // add platform spezific 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();

Beside a file access this class also give access to directory data as well as reading and setting paths.

This class is only available for LayoutEditor C++ Macros. For the other scripting interfaces native alternatives will exist.

Member Function Documentation


string file::baseName()

Returns: the base name of the file without the path and suffix.


void file::close()

The file is closed.


string file::currentPath()

The current working path is returned.


bool file::exists()

The filename had to be set prior to the property filename.

Returns: true if filename exists. Otherwise false is returned.


void file::find(string path, string s)

Find a file matching to the search string s. If a match is found, filename is set. Otherwise filename is set to an empty string.


void file::findDir(string path, string s)

Find a folder matching to the search string s. If a match is found, filename is set. Otherwise filename is set to an empty string.


void file::findNext()

Find an other file match to a previous find or findDir. If a match is found, filename is set. Otherwise filename is set to an empty string.


string file::filename

Name of the file to operate with.


string file::homePath()

The home path is returned.


bool file::link(string linkname)

linkname will be created as link to the set file name. Returns true if the link can be created.


bool file::open(bool mode=true)

Open a file. The filename had to be set prior to the property filename. If mode is true, the file is opened in readonly mode. If mode is false, the file is open as writeonly mode.

Returns: true if operation was successful. Otherwise false is returned.


string file::path()

Returns: the file's path. This doesn't include the file name.


string file::read()

Returns: the hole file is returned as a string


intList file::readBinary()

Returns: the hole file is returned as a intList. It reads a binary file with an int for each byte.

  intList list;
  file f;
  f.filename="data.bin";
  bool b=true;
//open for input
  f.open(b);
  list=f.readBinary();
// close file
  f.close();

bool file::remove()

Removes the file specified by the filename given. Returns true if successful; otherwise returns false.


void file::setCurrentPath(string path)

The default working directory is set to path.


void file::setCodec(string codec)

Uses codec to encode input/output. Many codec are supported like "UTF-8", "UTF-16", "ISO-8859-13"


string file::suffix()

Returns: the suffix of the file


string file::tempPath()

The temp path of the system is returned.


void file::write(string s)

The file is overwriten with the string s.


void file::writeBinary(intList list)

The file is overwriten with the intList list. It writesa binary file with an byte for each int in the list.

  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();