Isis Developer Reference
|
Provides access to sequential ASCII stream I/O. More...
#include <TextFile.h>
Public Member Functions | |
TextFile () | |
Constructs an empty TextFile object. | |
TextFile (const QString &filename, const char *openmode="input", const char *extension="") | |
Constructs a TextFile object and opens the specified file (including path). | |
TextFile (const char *filename, const char *openmode, std::vector< QString > &lines, const int &maxLinesToReadWrite=0, const bool skipComments=true) | |
Constructs a TextFile object and opens the specified file (including path), reads or writes file, leaves file open for further use of the rest of the methods. | |
TextFile (const QString &filename, const char *openmode, std::vector< QString > &lines, const int &maxLinesToReadWrite=0, const bool skipComments=true) | |
Constructs a TextFile object and opens the specified file (including path), reads or writes file, leaves file open for further use of the rest of the methods. | |
TextFile (const char *filename, const char *openmode, QString *lines, const int &maxLinesToReadWrite, const bool skipComments=true) | |
Constructs a TextFile object and opens the specified file (including path), reads or writes file, leaves file open for further use of the rest of the methods. | |
TextFile (const QString &filename, const char *openmode, QString *lines, const int &maxLinesToReadWrite, const bool skipComments=true) | |
Constructs a TextFile object and opens the specified file (including path), reads or writes file, leaves file open for further use of the rest of the methods. | |
~TextFile () | |
Closes file (if still open). Destroys the TextFile object. | |
void | Open (const QString &filename, const char *openmode="input", const char *extension="") |
Opens a text file. | |
void | Open (const char *filename, const char *openmode="input", const char *extension="") |
bool | OpenChk (bool bailIfNotOpen=false) |
void | Rewind () |
Sets Read / Write pointer to begining of opened file. | |
void | Close () |
Closes file. Called automatically by TextFile destructor. | |
void | GetFile (std::vector< QString > &lines, const int &maxLinesToRead=0, const bool skipComments=true) |
void | GetFile (QString *lines, const int &maxLinesToRead, const bool skipComments=true) |
void | PutFile (std::vector< QString > &lines, const int &maxLinesToWrite=0) |
void | PutFile (const QString *lines, const int &maxLinesToWrite) |
bool | GetLine (QString &line, const bool skipComments=true) |
Gets next line from file. | |
bool | GetLineNoFilter (QString &line) |
Gets next NON-COMMENT line from file. | |
bool | GetLine (const bool skipComments=true) |
Gets next line from file. | |
bool | GetLineNoFilter () |
Gets next NON-COMMENT line from file. | |
void | PutLine (const QString &line) |
Writes string to file and appends a 'newline' string. | |
void | PutLine (const char *line="") |
Writes char string to file and appends a 'newline' string. | |
void | PutLineComment (const QString &line) |
Writes string to file, prepends a 'comment' string and appends a 'newline' string. | |
void | PutLineComment (const char *line="") |
Writes char string to file, prepends a 'comment' string and appends a 'newline' string. | |
QString | GetComment () |
QString | GetNewLine () |
void | SetComment (const char *commentString="#") |
Sets the 'comment' string. | |
void | SetNewLine (const char *newLineString="\n") |
Sets the 'newline' string. | |
int | LineCount (const int &maxLinesToRead=0) |
Counts number of lines in file. | |
std::streamsize | Size () |
Counts number of bytes in file. | |
Protected Member Functions | |
bool | p_GetLine (QString &line, bool chkComment) |
Gets next line from file. | |
Protected Attributes | |
std::fstream | p_stream |
File stream handle. | |
int | p_openmode |
openmode of file: Input, Output, Overwrite, Append | |
QString | p_filename |
FileName of the opened file. | |
QString | p_commentString |
'comment' string used by GetLine and PutLineComment | |
QString | p_newLineString |
'newline' string used by PutLine and PutLineComment | |
Provides access to sequential ASCII stream I/O.
Provides access to sequential ASCII stream I/O. Checks for errors in opening, reading, and writing ASCII files. Can check for 'comment lines' while reading a text file.
Isis::TextFile::TextFile | ( | ) |
Constructs an empty TextFile object.
Referenced by TextFile(), and TextFile().
Isis::TextFile::TextFile | ( | const QString & | filename, |
const char * | openmode = "input", | ||
const char * | extension = "" ) |
Constructs a TextFile object and opens the specified file (including path).
filename | FileName (including path) to be opened by TextFile object. |
openmode | Open Mode of file opened by TextFile object. InputOpens file for Input: Read Only, Fails if file does not exist OutputOpens file for Output: Read / Write - Creates file, Fails if file exists. OverwriteOpens file for Output: Read / Write - Creates file, Truncates if file exists. AppendOpens file for Append: Read / Write- Creates file, Appends if file exists. Defaults to "input" |
extension | Extension to be added to filename (added only if not already on filename). Defaults to "" |
References Open(), SetComment(), and SetNewLine().
Isis::TextFile::TextFile | ( | const char * | filename, |
const char * | openmode, | ||
std::vector< QString > & | lines, | ||
const int & | maxLinesToReadWrite = 0, | ||
const bool | skipComments = true ) |
Constructs a TextFile object and opens the specified file (including path), reads or writes file, leaves file open for further use of the rest of the methods.
filename | FileName (including path) to be opened by TextFile object. |
openmode | Open Mode of file opened by TextFile object. InputOpens file for Input: Read Only, Fails if file does not exist OutputOpens file for Output: Read / Write - Creates file, Fails if file exists. OverwriteOpens file for Output: Read / Write - Creates file, Truncates if file exists. AppendOpens file for Append: Read / Write - Creates file, Appends if file exists. Defaults to "input" |
lines | |
maxLinesToReadWrite | Limits the maximum lines read or written; 0=read entire file or write entire vectorDefaults to 0 |
skipComments | Controls whether comments lines are filtered; true=filter, false=return any line read from fileDefaults to true |
References TextFile().
Isis::TextFile::TextFile | ( | const QString & | filename, |
const char * | openmode, | ||
std::vector< QString > & | lines, | ||
const int & | maxLinesToReadWrite = 0, | ||
const bool | skipComments = true ) |
Constructs a TextFile object and opens the specified file (including path), reads or writes file, leaves file open for further use of the rest of the methods.
filename | FileName (including path) to be opened by TextFile object. |
openmode | Open Mode of file opened by TextFile object. InputOpens file for Input: Read Only, Fails if file does not exist OutputOpens file for Output: Read / Write - Creates file, Fails if file exists. OverwriteOpens file for Output: Read / Write - Creates file, Truncates if file exists. AppendOpens file for Append: Read / Write - Creates file, Appends if file exists. Defaults to "input" |
lines | IString Vector to fill if reading or put to file if writing |
maxLinesToReadWrite | Limits the maximum lines read or written; 0=read entire file or write entire vectorDefaults to 0 |
skipComments | Controls whether comments lines are filtered; true=filter, false=return any line read from fileDefaults to true |
References GetFile(), Open(), p_openmode, PutFile(), SetComment(), and SetNewLine().
Isis::TextFile::TextFile | ( | const char * | filename, |
const char * | openmode, | ||
QString * | lines, | ||
const int & | maxLinesToReadWrite, | ||
const bool | skipComments = true ) |
Constructs a TextFile object and opens the specified file (including path), reads or writes file, leaves file open for further use of the rest of the methods.
filename | FileName (including path) to be opened by TextFile object. |
openmode | Open Mode of file opened by TextFile object. InputOpens file for Input: Read Only, Fails if file does not exist OutputOpens file for Output: Read / Write - Creates file, Fails if file exists. OverwriteOpens file for Output: Read / Write - Creates file, Truncates if file exists. AppendOpens file for Append: Read / Write - Creates file, Appends if file exists. Defaults to "input" |
lines | |
maxLinesToReadWrite | Limits the maximum lines read or written; 0=read entire file or write entire vectorDefaults to 0 |
skipComments | Controls whether comments lines are filtered; true=filter, false=return any line read from fileDefaults to true |
References TextFile().
Isis::TextFile::TextFile | ( | const QString & | filename, |
const char * | openmode, | ||
QString * | lines, | ||
const int & | maxLinesToReadWrite, | ||
const bool | skipComments = true ) |
Constructs a TextFile object and opens the specified file (including path), reads or writes file, leaves file open for further use of the rest of the methods.
filename | FileName (including path) to be opened by TextFile object. |
openmode | Open Mode of file opened by TextFile object. InputOpens file for Input: Read Only, Fails if file does not exist OutputOpens file for Output: Read / Write - Creates file, Fails if file exists. OverwriteOpens file for Output: Read / Write - Creates file, Truncates if file exists. AppendOpens file for Append: Read / Write - Creates file, Appends if file exists. Defaults to "input" |
lines | |
maxLinesToReadWrite | Limits the maximum lines read or written; 0=read entire file or write entire vectorDefaults to 0 |
skipComments | Controls whether comments lines are filtered; true=filter, false=return any line read from fileDefaults to true |
References GetFile(), Open(), p_openmode, PutFile(), SetComment(), and SetNewLine().
Isis::TextFile::~TextFile | ( | ) |
void Isis::TextFile::Close | ( | ) |
Closes file. Called automatically by TextFile destructor.
References p_stream.
Referenced by Isis::CisscalFile::~CisscalFile(), and ~TextFile().
QString Isis::TextFile::GetComment | ( | ) |
References p_commentString.
void Isis::TextFile::GetFile | ( | QString * | lines, |
const int & | maxLinesToRead, | ||
const bool | skipComments = true ) |
void Isis::TextFile::GetFile | ( | std::vector< QString > & | lines, |
const int & | maxLinesToRead = 0, | ||
const bool | skipComments = true ) |
References GetLine(), and OpenChk().
Referenced by TextFile(), and TextFile().
bool Isis::TextFile::GetLine | ( | const bool | skipComments = true | ) |
Gets next line from file.
Returns True if read a line, False if End Of File.
skipComments | Controls whether comments lines are filtered; true=filter, false=return any line read from fileDefaults to true |
References p_GetLine().
bool Isis::TextFile::GetLine | ( | QString & | line, |
const bool | skipComments = true ) |
Gets next line from file.
Returns True if read a line, False if End Of File.
line | Line read from file, with newline removed. |
skipComments | Controls whether comments lines are filtered; true=filter, false=return any line read from fileDefaults to true |
References p_GetLine().
bool Isis::TextFile::GetLineNoFilter | ( | ) |
Gets next NON-COMMENT line from file.
Returns True if read a line, False if End Of File. See SetComment method.
References p_GetLine().
bool Isis::TextFile::GetLineNoFilter | ( | QString & | line | ) |
Gets next NON-COMMENT line from file.
Returns True if read a line, False if End Of File. See SetComment method.
line | Line read from file, with newline removed. |
References p_GetLine().
QString Isis::TextFile::GetNewLine | ( | ) |
References p_newLineString.
int Isis::TextFile::LineCount | ( | const int & | maxLinesToRead = 0 | ) |
void Isis::TextFile::Open | ( | const char * | filename, |
const char * | openmode = "input", | ||
const char * | extension = "" ) |
void Isis::TextFile::Open | ( | const QString & | filename, |
const char * | openmode = "input", | ||
const char * | extension = "" ) |
Opens a text file.
filename | FileName (including path) to be opened. |
openmode | Open Mode of file to be opened. There are four options, "input", "output", "overwrite", and "append". "input" opens with in fstream option, "output" opens with in, out, and trunc fstream options and verifies the file does not exist, "overwrite" opens with in, out, and trunc fstream options, and "append" opens with in, out, and ate(at end) fstream options, "append" will open with in and out options if the file does not exist. |
extension | Extension to be added to filename (added only if not already on filename). Defaults to "" |
Isis::IException::Programmer | |
Isis::IException::Io | - output file already exists |
Isis::IException::Io | - unable to open file |
References _FILEINFO_, Isis::IString::DownCase(), Isis::IException::Io, p_filename, p_openmode, p_stream, and Isis::IException::Programmer.
Referenced by TextFile(), TextFile(), and TextFile().
bool Isis::TextFile::OpenChk | ( | bool | bailIfNotOpen = false | ) |
References _FILEINFO_, p_filename, p_stream, and Isis::IException::Programmer.
Referenced by GetFile(), GetFile(), LineCount(), Isis::CisscalFile::p_GetLine(), p_GetLine(), PutFile(), PutFile(), PutLine(), Rewind(), and Size().
|
protected |
Gets next line from file.
Returns True if read a line, False if End Of File.
line | Line read from file, with newline removed. |
chkComment | True=Skip Comment Lines, False=Return All Lines. |
Isis::IException::Io | - error reading text file |
References _FILEINFO_, Isis::IException::Io, OpenChk(), p_commentString, p_filename, p_GetLine(), and p_stream.
Referenced by GetLine(), GetLine(), GetLineNoFilter(), GetLineNoFilter(), and p_GetLine().
void Isis::TextFile::PutFile | ( | const QString * | lines, |
const int & | maxLinesToWrite ) |
void Isis::TextFile::PutFile | ( | std::vector< QString > & | lines, |
const int & | maxLinesToWrite = 0 ) |
References OpenChk(), and PutLine().
Referenced by TextFile(), and TextFile().
void Isis::TextFile::PutLine | ( | const char * | line = "" | ) |
Writes char string to file and appends a 'newline' string.
See SetNewLine method.
line | Char string to be written to file.Defaults to "" |
Isis::IException::Io | - error writing text to file |
Isis::IException::Programmer | - input is read only text file, cannot write to file |
References _FILEINFO_, Isis::IException::Io, OpenChk(), p_filename, p_newLineString, p_openmode, p_stream, and Isis::IException::Programmer.
void Isis::TextFile::PutLine | ( | const QString & | line | ) |
Writes string to file and appends a 'newline' string.
See SetNewLine method.
line | IString to be written to file. Defaults to "" |
References PutLine().
Referenced by PutFile(), PutFile(), PutLine(), PutLineComment(), and PutLineComment().
void Isis::TextFile::PutLineComment | ( | const char * | line = "" | ) |
Writes char string to file, prepends a 'comment' string and appends a 'newline' string.
See SetComment method and SetNewLine method.
line | Char string to be written to file.Defaults to "" |
References p_commentString, and PutLine().
void Isis::TextFile::PutLineComment | ( | const QString & | line | ) |
Writes string to file, prepends a 'comment' string and appends a 'newline' string.
See SetComment method and SetNewLine method.
line | IString to be written to file.Defaults to "" |
References p_commentString, and PutLine().
void Isis::TextFile::Rewind | ( | ) |
void Isis::TextFile::SetComment | ( | const char * | commentString = "#" | ) |
Sets the 'comment' string.
Default = '#' See ReadFilter method. Skips lines that begin with this string. See PutLineComment method. Prepends 'comment' string to output line.
commentString | The string of characters to be used for 'comment' lines. Defaults to "#" |
References p_commentString.
Referenced by TextFile(), TextFile(), and TextFile().
void Isis::TextFile::SetNewLine | ( | const char * | newLineString = "\n" | ) |
Sets the 'newline' string.
Default = '
'. See PutLine and PutLineComment methods. Appends 'newline' string to output line.
newLineString | The string of characters to be used for 'comment' lines. Defaults to "\n" |
References p_newLineString.
Referenced by TextFile(), TextFile(), and TextFile().
streamsize Isis::TextFile::Size | ( | ) |
|
protected |
'comment' string used by GetLine and PutLineComment
Referenced by GetComment(), p_GetLine(), PutLineComment(), PutLineComment(), and SetComment().
|
protected |
FileName of the opened file.
Referenced by Open(), OpenChk(), Isis::CisscalFile::p_GetLine(), p_GetLine(), and PutLine().
|
protected |
'newline' string used by PutLine and PutLineComment
Referenced by GetNewLine(), PutLine(), and SetNewLine().
|
protected |
openmode of file: Input, Output, Overwrite, Append
Referenced by Open(), PutLine(), TextFile(), and TextFile().
|
protected |
File stream handle.
Referenced by Close(), LineCount(), Open(), OpenChk(), Isis::CisscalFile::p_GetLine(), p_GetLine(), PutLine(), Rewind(), and Size().