# 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.

## 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

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.