#include <BALL/SYSTEM/file.h>
File Class.
Definition at line 137 of file file.h.
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.
Definition at line 168 of file file.h.
Transformation types for file. This enum defines some possible types for on-the-fly file transformation.
Enumerator |
---|
TRANSFORMATION__EXEC |
|
TRANSFORMATION__FILTER |
|
TRANSFORMATION__URL |
|
Definition at line 201 of file file.h.
Filetype
Enumerator |
---|
TYPE__UNKNOWN |
|
TYPE__DIRECTORY |
|
TYPE__CHAR_SPECIAL_FILE |
|
TYPE__BLOCK_SPECIAL_FILE |
|
TYPE__REGULAR_FILE |
|
TYPE__SYMBOLIC_LINK |
|
TYPE__SOCKET |
|
TYPE__FIFO_SPECIAL_FILE |
|
Definition at line 213 of file file.h.
BALL::File::File |
( |
const String & |
name, |
|
|
OpenMode |
open_mode = std::ios::in |
|
) |
| |
Construct new File object from the file name and open the file.
- Parameters
-
name | the name of the file to be opened |
open_mode | the openmode to be used |
- See Also
- open
- Exceptions
-
virtual BALL::File::~File |
( |
| ) |
|
|
virtual |
Destructor. The file is closed.
virtual void BALL::File::clear |
( |
| ) |
|
|
virtual |
void BALL::File::close |
( |
| ) |
|
static bool BALL::File::copy |
( |
String |
source_name, |
|
|
String |
destination_name, |
|
|
Size |
buffer_size = 4096 |
|
) |
| |
|
static |
Copy a given file to a given destination. If a file with the destination name exists already, nothing happens.
- Parameters
-
source_name | the name of the source file |
destination_name | the name of the destination file |
buffer_size | the buffer size to use while copying |
- Returns
- true if copying was successfull
- Exceptions
-
bool BALL::File::copyTo |
( |
const String & |
destination_name, |
|
|
Size |
buffer_size = 4096 |
|
) |
| |
Copy the file to a given destination. If a file with the destination name exists already, nothing happens.
- Parameters
-
destination_name | the name of the destination file |
buffer_size | the buffer size to use while copying |
- Returns
- true if copying was successfull
- Exceptions
-
static bool BALL::File::createTemporaryFilename |
( |
String & |
temporary, |
|
|
const String & |
suffix = ".TMP" |
|
) |
| |
|
static |
Create a temporary filename. This method creates strings, starting at _AAAAAAA, adds the suffix /suffix/ which defaults to .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.
- Parameters
-
temporary | reference to the temporary filename |
- Returns
- bool true if a temporary filename could be found
static void BALL::File::disableTransformation |
( |
Transformation |
transformation | ) |
|
|
static |
static void BALL::File::enableTransformation |
( |
Transformation |
transformation | ) |
|
|
static |
std::fstream& BALL::File::getFileStream |
( |
| ) |
|
Return the stream associated with this file. Implemented just for convenience.
- Returns
- std::fstream the stream
const String& BALL::File::getName |
( |
| ) |
const |
Return the name of the file.
- Returns
- String the name of the file
Return the open mode. Default is IN.
- Returns
- int the open mode
const String& BALL::File::getOriginalName |
( |
| ) |
const |
Size BALL::File::getSize |
( |
| ) |
|
Return the size of the file. If the file does not exist, 0 is returned.
- Returns
- Size the size of the file
- Exceptions
-
Return the size of a given file.
- Returns
- Size the size of the file
- Exceptions
-
Return the filetype of a given file.
- Parameters
-
name | the name of the file. |
trace_link | true to follow links |
- Returns
- Type the filetype
- Exceptions
-
Type BALL::File::getType |
( |
bool |
trace_link | ) |
const |
Return the filetype.
- Parameters
-
trace_link | true to follow links |
- Returns
- Type the filetype
- Exceptions
-
static bool BALL::File::isAccessible |
( |
String |
name | ) |
|
|
static |
Test if a given file can be accessed.
- Parameters
-
name | the name of the file to be tested |
- Returns
- bool true if the file can be accessed
bool BALL::File::isAccessible |
( |
| ) |
const |
Test if the file can be accessed.
- Returns
- bool true if the file can be accessed
- Exceptions
-
Exception::FileNotfound | if the file could not be found |
bool BALL::File::isCanonized |
( |
| ) |
const |
Test if the path of the file is canonized. The path is compared before and after call of FileSystem::canonizePath(canonized_name).
- See Also
- FileSystem::canonizePath
- Returns
- bool true if the path is canonized.
- Exceptions
-
Exception::FileNotfound | if the file could not be found |
bool BALL::File::isClosed |
( |
| ) |
const |
Test if the file is closed. The standard constructor opens the file.
- Returns
- bool true if the file is closed
static bool BALL::File::isExecutable |
( |
String |
name | ) |
|
|
static |
Test if a given file is executable.
- Parameters
-
- Returns
- true if the file is executable
- Exceptions
-
Exception::FileNotfound | if the file could not be found |
bool BALL::File::isExecutable |
( |
| ) |
const |
Test if the file is executable.
- Returns
- true if the file is executable
- Exceptions
-
Exception::FileNotfound | if the file could not be found |
bool BALL::File::isOpen |
( |
| ) |
const |
Test if the file is opend. The standard constructor opens the file.
- Returns
- bool true if the file is closed
Test if a given file is readable.
- Parameters
-
- Returns
- true if the file can be read
- Exceptions
-
Exception::FileNotfound | if the file could not be found |
bool BALL::File::isReadable |
( |
| ) |
const |
Test if the file is readable.
- Returns
- true if the file can be read
- Exceptions
-
Exception::FileNotfound | if the file could not be found |
bool BALL::File::isValid |
( |
| ) |
const |
Test if the file is valid. If the filename was not set, false is returned. This function uses std::fstream::good().
- Returns
- bool true if the file is valid
Test if a given file is writeable.
- Parameters
-
- Returns
- true if the file is writeable
- Exceptions
-
Exception::FileNotfound | if the file could not be found |
bool BALL::File::isWritable |
( |
| ) |
const |
Test if the file is writeable.
- Returns
- true if the file is writeable
- Exceptions
-
Exception::FileNotfound | if the file could not be found |
static bool BALL::File::move |
( |
const String & |
source_name, |
|
|
const String & |
destination_name |
|
) |
| |
|
static |
Move a given file to a given destination. If a file with the destination name exists already, nothing happens.
- Parameters
-
source_name | the name of the source file |
destination_name | the name of the destination file |
- Returns
- true if copying was successfull
- Exceptions
-
bool BALL::File::moveTo |
( |
const String & |
destination_name | ) |
|
Move the file to a given destination. If a file with the destination name exists already, nothing happens.
- Parameters
-
destination_name | the name of the destination file |
- Returns
- true if copying was successfull
- Exceptions
-
Open a given file. The standard constructor uses this method.
- Parameters
-
name | the name of the file |
open_mode | the open mode, default is IN |
- Returns
- bool true if the file could be opened
- Exceptions
-
bool BALL::File::operator!= |
( |
const File & |
file | ) |
const |
Inequality comparison operator. Two File objects are inequal if they point not to the same canonized filename.
const File& BALL::File::operator= |
( |
const File & |
file | ) |
|
|
private |
bool BALL::File::operator== |
( |
const File & |
file | ) |
const |
Equality comparison operator. Two File objects are equal if they point to the same canonized filename.
static void BALL::File::registerTransformation |
( |
const String & |
pattern, |
|
|
const String & |
exec |
|
) |
| |
|
static |
Remove the given file.
- Parameters
-
name | the name of the file to be removed |
- Returns
- bool true if the file could be removed
bool BALL::File::remove |
( |
| ) |
|
Remove the file.
- Returns
- bool true if the file could be removed
Rename a file.
- Parameters
-
old_path | the path and name of the file to be renamed |
new_path | the new path and name of the file |
- Returns
- bool true if the file could be renamed
- Exceptions
-
bool BALL::File::renameTo |
( |
const String & |
new_path | ) |
|
Rename the file to a given name. If a file with the destination name exists already, nothing happens.
- Parameters
-
new_path | the new path and name of the file |
- Returns
- bool true if the file could be renamed
- Exceptions
-
bool BALL::File::reopen |
( |
| ) |
|
Reopen the file. The file is closed and reopend.
- Returns
- bool true if the file could be reopened
- Exceptions
-
Reopen the file with a different mode. The file is closed and reopend.
- Parameters
-
- Returns
- bool true if the file could be reopend
- Exceptions
-
void BALL::File::setName |
( |
const String & |
name | ) |
|
Close the file and point to an other file.
- Parameters
-
Truncate a given file.
- Parameters
-
path | the path to the file |
size | the new size of the file |
- Returns
- bool true if the file could be truncated
- Exceptions
-
bool BALL::File::truncate |
( |
Size |
size = 0 | ) |
|
Truncate the file.
- Parameters
-
size | the new size of the file |
- Returns
- bool true if the file could be truncated
- Exceptions
-
static void BALL::File::unregisterTransformation |
( |
const String & |
pattern | ) |
|
|
static |
bool BALL::File::is_open_ |
|
protected |
bool BALL::File::is_temporary_ |
|
protected |
Append. Seek to end before each write operation.
Definition at line 182 of file file.h.
Seek to end directly after opening.
Definition at line 188 of file file.h.
Binary mode.
Definition at line 185 of file file.h.
Open for input (default)
Definition at line 176 of file file.h.
Open for output.
Definition at line 179 of file file.h.
Truncate an existing file.
Definition at line 191 of file file.h.
String BALL::File::original_name_ |
|
protected |
const String BALL::File::TRANSFORMATION_EXEC_PREFIX |
|
static |
Prefix for filenames that are created through the execution of commands "exec:".
Definition at line 234 of file file.h.
const String BALL::File::TRANSFORMATION_FILE_PREFIX |
|
static |
Prefix for files (to mimick URL-like behavior) "file:".
Definition at line 237 of file file.h.
const String BALL::File::TRANSFORMATION_FTP_PREFIX |
|
static |
Prefix for FTP-transfers "ftp://".
Definition at line 240 of file file.h.
const String BALL::File::TRANSFORMATION_HTTP_PREFIX |
|
static |
Prefix for HTTP-transfer "http://".
Definition at line 243 of file file.h.
Size BALL::File::transformation_methods_ |
|
staticprotected |