#include <file.h>
Inheritance diagram for File:
Enums | |
enum | Transformation { TRANSFORMATION__EXEC = 1, TRANSFORMATION__FILTER = 2, TRANSFORMATION__URL = 3 } |
Transformation types for file. More... | |
enum | Type { TYPE__UNKNOWN = 0, TYPE__DIRECTORY = 1, TYPE__CHAR_SPECIAL_FILE = 2, TYPE__BLOCK_SPECIAL_FILE = 3, TYPE__REGULAR_FILE = 4, TYPE__SYMBOLIC_LINK = 5, TYPE__SOCKET = 6, TYPE__FIFO_SPECIAL_FILE = 7 } |
Filetype. | |
const String | TRANSFORMATION_EXEC_PREFIX |
Prefix for filenames that are created through the execution of commands "exec:". | |
const String | TRANSFORMATION_FILE_PREFIX |
Prefix for files (to mimick URL-like behavior) "file:". | |
const String | TRANSFORMATION_FTP_PREFIX |
Prefix for FTP-transfers "ftp://". | |
const String | TRANSFORMATION_HTTP_PREFIX |
Prefix for HTTP-transfer "http://". | |
Accessors | |
bool | open (const String &name, File::OpenMode open_mode=std::ios::in) throw (Exception::FileNotFound) |
Open a given file. | |
bool | reopen () throw (Exception::FileNotFound) |
Reopen the file. | |
bool | reopen (File::OpenMode open_mode) throw (Exception::FileNotFound) |
Reopen the file with a different mode. | |
void | close () throw () |
Close the file. | |
const String & | getName () const throw () |
Return the name of the file. | |
void | setName (const String &name) throw () |
Close the file and point to an other file. | |
const String & | getOriginalName () const throw () |
Size | getSize () throw (Exception::FileNotFound) |
Return the size of the file. | |
File::OpenMode | getOpenMode () const throw () |
Return the open mode. | |
Type | getType (bool trace_link) const throw (Exception::FileNotFound) |
Return the filetype. | |
bool | copyTo (const String &destination_name, Size buffer_size=4096) throw (Exception::FileNotFound) |
Copy the file to a given destination. | |
bool | moveTo (const String &destination_name) throw (Exception::FileNotFound) |
Move the file to a given destination. | |
bool | remove () throw () |
Remove the file. | |
bool | renameTo (const String &new_path) throw (Exception::FileNotFound) |
Rename the file to a given name. | |
bool | truncate (Size size=0) throw (Exception::FileNotFound) |
Truncate the file. | |
std::fstream & | getFileStream () |
Return the stream associated with this file. | |
Size | getSize (String name) throw (Exception::FileNotFound) |
Return the size of a given file. | |
Type | getType (String name, bool trace_link) throw (Exception::FileNotFound) |
Return the filetype of a given file. | |
bool | copy (String source_name, String destination_name, Size buffer_size=4096) throw (Exception::FileNotFound) |
Copy a given file to a given destination. | |
bool | move (const String &source_name, const String &destination_name) throw (Exception::FileNotFound) |
Move a given file to a given destination. | |
bool | remove (String name) throw () |
Remove the given file. | |
bool | rename (String old_path, String new_path) throw (Exception::FileNotFound) |
Rename a file. | |
bool | truncate (String path, Size size=0) throw (Exception::FileNotFound) |
Truncate a given file. | |
bool | createTemporaryFilename (String &temporary) throw () |
Create a temporary filename. | |
On-the-fly file transformation | |
| |
TransformationManager & | getTransformationManager () |
Mutable access the TransformationManager. | |
const TransformationManager & | getTransformationManager () const |
Constant access to the TransformationManager. | |
void | enableTransformation (Transformation transformation) |
void | disableTransformation (Transformation transformation) |
bool | isTransformationEnabled (Transformation transformation) |
void | registerTransformation (const String &pattern, const String &exec) |
void | unregisterTransformation (const String &pattern) |
Predicates | |
bool | operator== (const File &file) const throw () |
Equality comparison operator. | |
bool | operator!= (const File &file) const throw () |
Inequality comparison operator. | |
bool | isOpen () const throw () |
Test if the file is opend. | |
bool | isClosed () const throw () |
Test if the file is closed. | |
bool | isAccessible () const throw (Exception::FileNotFound) |
Test if the file can be accessed. | |
bool | isCanonized () const throw (Exception::FileNotFound) |
Test if the path of the file is canonized. | |
bool | isReadable () const throw (Exception::FileNotFound) |
Test if the file is readable. | |
bool | isWritable () const throw (Exception::FileNotFound) |
Test if the file is writeable. | |
bool | isExecutable () const throw (Exception::FileNotFound) |
Test if the file is executable. | |
bool | isAccessible (String name) throw () |
Test if a given file can be accessed. | |
bool | isReadable (String name) throw (Exception::FileNotFound) |
Test if a given file is readable. | |
bool | isWritable (String name) throw (Exception::FileNotFound) |
Test if a given file is writeable. | |
bool | isExecutable (String name) throw (Exception::FileNotFound) |
Test if a given file is executable. | |
Public Types | |
Type definitions | |
typedef std::ios::openmode | OpenMode |
File open modes. | |
Public Member Functions | |
Constructors and Destructors | |
File () throw () | |
Default constructor. | |
File (const String &name, OpenMode open_mode=std::ios::in) throw (Exception::FileNotFound) | |
Construct new File object from the file name and open the file. | |
File (const File &file) throw (Exception::FileNotFound) | |
Copy constructor. | |
virtual | ~File () throw () |
Destructor. | |
virtual void | clear () throw () |
Clear the File object. | |
Assignment | |
const File & | operator= (const File &file) throw () |
Assignment operator. | |
Debugging and Diagnostics | |
bool | isValid () const throw () |
Test if the file is valid. | |
Static Public Attributes | |
Constants | |
const OpenMode | MODE_IN |
Open for input (default). | |
const OpenMode | MODE_OUT |
Open for output. | |
const OpenMode | MODE_APP |
Append. Seek to end before each write operation. | |
const OpenMode | MODE_BINARY |
Binary mode. | |
const OpenMode | MODE_ATE |
Seek to end directly after opening. | |
const OpenMode | MODE_TRUNC |
Truncate an existing file. | |
Protected Attributes | |
String | name_ |
String | original_name_ |
OpenMode | open_mode_ |
bool | is_open_ |
bool | is_temporary_ |
Static Protected Attributes | |
TransformationManager | transformation_manager_ |
Size | transformation_methods_ |
|
File open modes. This type is used to describe the standard openmodes for files as described in Section 27.4.2.1.4 of the ANSI C++ standard. |
|
Transformation types for file. This enum defines some possible types for on-the-fly file transformation. |
|
Default constructor.
|
|
Construct new File object from the file name and open the file.
|
|
Copy constructor. The file is not opend.
|
|
Destructor. The file is closed. |
|
Clear the File object.
Reimplemented in DCDFile, DSN6File, LineBasedFile, NMRStarFile, ResourceFile, TrajectoryFile, and TRRFile. |
|
Close the file.
Reimplemented in ResourceFile. |
|
Copy a given file to a given destination. If a file with the destination name exists already, nothing happens.
|
|
Copy the file to a given destination. If a file with the destination name exists already, nothing happens.
|
|
Create a temporary filename. This method creates strings, starting at _AAAAAAA.TMP and tries if a file with this name exists. If not, the string is returned. If a file with this name exists, it continues to create names up to _ZZZZZZZ.TMP.
|
|
Return the stream associated with this file. Implemented just for convenience.
|
|
Return the name of the file.
|
|
Return the open mode. Default is IN.
|
|
Return the size of a given file.
|
|
Return the size of the file. If the file does not exist, 0 is returned.
|
|
Constant access to the TransformationManager. File defines a static instance of TransformationManager to handle on-the-fly conversions of files (e.g. compression, charset conversion, etc.). |
|
Mutable access the TransformationManager. File defines a static instance of TransformationManager to handle on-the-fly conversions of files (e.g. compression, charset conversion, etc.). |
|
Return the filetype.
|
|
Return the filetype of a given file.
|
|
Test if the file can be accessed.
|
|
Test if a given file can be accessed.
|
|
Test if the path of the file is canonized. The path is compared before and after call of FileSystem::canonizePath(canonized_name).
|
|
Test if the file is closed. The standard constructor opens the file.
|
|
Test if the file is executable.
|
|
Test if a given file is executable.
|
|
Test if the file is opend. The standard constructor opens the file.
|
|
Test if the file is readable.
|
|
Test if a given file is readable.
|
|
Test if the file is valid. If the filename was not set, false is returned. This function uses std::fstream::good().
Reimplemented in ResourceFile. |
|
Test if the file is writeable.
|
|
Test if a given file is writeable.
|
|
Move a given file to a given destination. If a file with the destination name exists already, nothing happens.
|
|
Move the file to a given destination. If a file with the destination name exists already, nothing happens.
|
|
Open a given file. The standard constructor uses this method.
|
|
Inequality comparison operator. Two File objects are inequal if they point not to the same canonized filename. |
|
Assignment operator. Assign the filename from file . The file is not opend. |
|
Equality comparison operator. Two File objects are equal if they point to the same canonized filename. |
|
Remove the file.
|
|
Remove the given file.
|
|
Rename a file.
|
|
Rename the file to a given name. If a file with the destination name exists already, nothing happens.
|
|
Reopen the file with a different mode. The file is closed and reopend.
|
|
Reopen the file. The file is closed and reopend.
|
|
Close the file and point to an other file.
|
|
Truncate the file.
|
|
Truncate a given file.
|