Poco

class TemporaryFile

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: absolutePath, canExecute, canRead, canWrite, copyDirectory, copyTo, createDirectories, createDirectory, createFile, created, exists, existsAnywhere, 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

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

static void registerForDeletion(
    const std::string & path
);

Registers the given file for deletion at process termination.

tempName static

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.