LargeRegularFileIO.h
Classes
- LargeRegularFileIO -- Class for IO on a regular large file. (full description)
Interface
- Public Members
- explicit LargeRegularFileIO (const RegularFile& regularFile, RegularFile::OpenOption = RegularFile::Old, uInt filebufSize=0)
- ~LargeRegularFileIO()
- virtual void reopenRW()
- virtual String fileName() const
- Private Members
- LargeRegularFileIO (const LargeRegularFileIO& that)
- LargeRegularFileIO& operator= (const LargeRegularFileIO& that)
Review Status
- Reviewed By:
- Friso Olnon
- Date Reviewed:
- 1996/11/06
- Programs:
- Tests:
Prerequisite
Synopsis
This class is a specialization of class
ByteIO. It uses a
regular file as the data store.
The class is derived from FilebufIO,
which contains all functions to access the file. The description of
this class explains the use of the filebufSize argument
in the constructor.
Example
// Create a file (which should not exist yet).
LargeRegularFileIO regio (RegularFile("file.name"), ByeIO::NewNoReplace);
// Use that as the sink of AipsIO.
AipsIO stream (®io);
// Write values.
stream << (Int)10;
stream << True;
// Seek to beginning of file and read data in.
stream.setpos (0);
Int vali;
Bool valb;
stream >> vali >> valb;
Member Description
explicit LargeRegularFileIO (const RegularFile& regularFile, RegularFile::OpenOption = RegularFile::Old, uInt filebufSize=0)
Create an IO stream object for a regular file with the given name.
The ByteIO option determines if the file will be created
or opened for input and/or output.
The argument filebufSize defines the length of
the internal buffer in the underlying
FilebufIO object. A zero length uses an appropriate default.
Reopen the underlying file for read/write access.
Nothing will be done if the stream is writable already.
Otherwise it will be reopened and an exception will be thrown
if it is not possible to reopen it for read/write access.
Get the file name of the file attached.
Copy constructor, should not be used.
LargeRegularFileIO& operator= (const LargeRegularFileIO& that)
Assignment, should not be used.