File Information
Library: Foundation
Package: Filesystem
Header: Poco/TemporaryFile.h
Description
The TemporaryFile class helps with the handling of temporary files. A unique name for the temporary file is automatically chosen and the file is placed in the directory reserved for temporary files (see Path::temp()). Obtain the path by calling the path() method (inherited from File).
The TemporaryFile class does not actually create the file - this is up to the application. The class does, however, delete the temporary file - either in the destructor, or immediately before the application terminates.
Note: Due to the way the temporary file names are generated, collisions may be possible after 400-500 Million file names generated by a single process.
Inheritance
Direct Base Classes: File
All Base Classes: FileImpl, File
Member Summary
Member Functions: keep, keepUntilExit, registerForDeletion, tempName
Inherited Functions: canExecute, canRead, canWrite, copyDirectory, copyTo, createDirectories, createDirectory, createFile, created, exists, freeSpace, getLastModified, getSize, handleLastError, isDevice, isDirectory, isFile, isHidden, isLink, linkTo, list, moveTo, operator !=, operator <, operator <=, operator =, operator ==, operator >, operator >=, path, remove, renameTo, setExecutable, setLastModified, setReadOnly, setSize, setWriteable, swap, totalSpace, usableSpace
Constructors
TemporaryFile
Creates the TemporaryFile.
TemporaryFile
TemporaryFile(
const std::string & tempDir
);
Creates the TemporaryFile using the given directory.
Destructor
~TemporaryFile
~TemporaryFile();
Destroys the TemporaryFile and deletes the corresponding file on disk unless keep() or keepUntilExit() has been called.
Member Functions
keep
void keep();
Disables automatic deletion of the file in the destructor.
keepUntilExit
void keepUntilExit();
Disables automatic deletion of the file in the destructor, but registers the file for deletion at process termination.
registerForDeletion
static void registerForDeletion(
const std::string & path
);
Registers the given file for deletion at process termination.
tempName
static std::string tempName(
const std::string & tempDir = ""
);
Returns a unique path name for a temporary file in the system's scratch directory (see Path::temp()) if tempDir is empty or in the directory specified in tempDir otherwise.