Open CASCADE Technology
6.5.4
|
Basic tools to manage files
Warning: 'ProgramError' is raised when somebody wants to use the methods
Read, Write, Seek, Close when File is not open.
#include <OSD_File.hxx>
Public Member Functions | |
DEFINE_STANDARD_ALLOC | OSD_File () |
Creates File object. | |
OSD_File (const OSD_Path &Name) | |
Instantiates the object file, storing its name | |
void | Build (const OSD_OpenMode Mode, const OSD_Protection &Protect) |
CREATES a file if it doesn't already exists or empties an existing file. After 'Build', the file is open. If no name was given, ProgramError is raised. | |
void | Open (const OSD_OpenMode Mode, const OSD_Protection &Protect) |
Opens a File with specific attributes This works only on already existing file. If no name was given, ProgramError is raised. | |
void | Append (const OSD_OpenMode Mode, const OSD_Protection &Protect) |
Appends data to an existing file. If file doesn't exist, creates it first. After 'Append', the file is open. If no name was given, ProgramError is raised. | |
void | Read (TCollection_AsciiString &Buffer, const Standard_Integer Nbyte) |
Attempts to read Nbyte bytes from the file associated with the object file. Upon successful completion, Read returns the number of bytes actually read and placed in the Buffer. This number may be less than Nbyte if the number of bytes left in the file is less than Nbyte bytes. In this case only number of read bytes will be placed in the buffer. | |
void | ReadLine (TCollection_AsciiString &Buffer, const Standard_Integer NByte, Standard_Integer &NbyteRead) |
Reads bytes from the data pointed to by the object file into the buffer <Buffer>. Data is read until <NByte-1> bytes have been read, until a newline character is read and transferred into <Buffer>, or until an EOF (End-of-File) condition is encountered. Upon successful completion, Read returns the number of bytes actually read into <NByteRead> and placed into the Buffer <Buffer>. | |
void | Read (Standard_Address &Buffer, const Standard_Integer Nbyte, Standard_Integer &Readbyte) |
Attempts to read Nbyte bytes from the files associated with the object File. Upon successful completion, Read returns the number of bytes actually read and placed in the Buffer. This number may be less than Nbyte if the number of bytes left in the file is less than Nbyte bytes. For this reason the output parameter Readbyte will contain the number of read bytes. | |
void | Write (const TCollection_AsciiString &Buffer, const Standard_Integer Nbyte) |
Attempts to write Nbyte bytes from the AsciiString to the file associated to the object File. | |
void | Write (const Standard_Address Buffer, const Standard_Integer Nbyte) |
Attempts to write Nbyte bytes from the buffer pointed to by Buffer to the file associated to the object File. | |
void | Seek (const Standard_Integer Offset, const OSD_FromWhere Whence) |
Sets the seek pointer associated with the open file | |
void | Close () |
Closes the file (and deletes a descriptor) | |
Standard_Boolean | IsAtEnd () |
Returns TRUE if the seek pointer is at end of file. | |
OSD_KindFile | KindOfFile () const |
Returns the kind of file. A file can be a file, a directory or a link. | |
void | SetLock (const OSD_LockType Lock) |
Locks current file | |
void | UnLock () |
Unlocks current file | |
OSD_LockType | GetLock () |
Returns the current lock state | |
Standard_Boolean | IsLocked () |
Returns TRUE if this file is locked. | |
Standard_Integer | Size () |
Returns actual number of bytes of <me>. | |
void | Print (const OSD_Printer &WhichPrinter) |
Prints a file on selected printer. | |
Standard_Boolean | IsOpen () const |
Returns TRUE if <me> is open. | |
Standard_Boolean | IsReadable () |
returns TRUE if the file exists and if the user has the autorization to read it. | |
Standard_Boolean | IsWriteable () |
returns TRUE if the file can be read and overwritten. | |
Standard_Boolean | IsExecutable () |
returns TRUE if the file can be executed. | |
Standard_Boolean | ReadLastLine (TCollection_AsciiString &aLine, const Standard_Integer aDelay, const Standard_Integer aNbTries) |
Enables to emulate unix "tail -f" command. If a line is available in the file <me> returns it. Otherwise attemps to read again aNbTries times in the file waiting aDelay seconds between each read. If meanwhile the file increases returns the next line, otherwise returns FALSE. | |
Standard_Boolean | Edit () |
find an editor on the system and edit the given file | |
Static Public Member Functions | |
static OSD_File | BuildTemporary () |
Makes a temporary File This returned file is already open ! This file is non-persistent and will be automatically removed when its process finishes. | |
Protected Attributes | |
Standard_Integer | myIO |
Standard_Address | myFILE |
OSD_File::OSD_File | ( | const OSD_Path & | Name | ) |
void OSD_File::Append | ( | const OSD_OpenMode | Mode, |
const OSD_Protection & | Protect | ||
) |
void OSD_File::Build | ( | const OSD_OpenMode | Mode, |
const OSD_Protection & | Protect | ||
) |
static OSD_File OSD_File::BuildTemporary | ( | ) | [static] |
void OSD_File::Close | ( | ) |
Standard_Boolean OSD_File::IsOpen | ( | ) | const |
OSD_KindFile OSD_File::KindOfFile | ( | ) | const |
void OSD_File::Open | ( | const OSD_OpenMode | Mode, |
const OSD_Protection & | Protect | ||
) |
void OSD_File::Print | ( | const OSD_Printer & | WhichPrinter | ) |
void OSD_File::Read | ( | TCollection_AsciiString & | Buffer, |
const Standard_Integer | Nbyte | ||
) |
void OSD_File::Read | ( | Standard_Address & | Buffer, |
const Standard_Integer | Nbyte, | ||
Standard_Integer & | Readbyte | ||
) |
Standard_Boolean OSD_File::ReadLastLine | ( | TCollection_AsciiString & | aLine, |
const Standard_Integer | aDelay, | ||
const Standard_Integer | aNbTries | ||
) |
void OSD_File::ReadLine | ( | TCollection_AsciiString & | Buffer, |
const Standard_Integer | NByte, | ||
Standard_Integer & | NbyteRead | ||
) |
void OSD_File::Seek | ( | const Standard_Integer | Offset, |
const OSD_FromWhere | Whence | ||
) |
void OSD_File::SetLock | ( | const OSD_LockType | Lock | ) |
void OSD_File::UnLock | ( | ) |
void OSD_File::Write | ( | const TCollection_AsciiString & | Buffer, |
const Standard_Integer | Nbyte | ||
) |
void OSD_File::Write | ( | const Standard_Address | Buffer, |
const Standard_Integer | Nbyte | ||
) |
Standard_Address OSD_File::myFILE [protected] |
Standard_Integer OSD_File::myIO [protected] |