# Poco

# class FileImpl

Library: Foundation
Package: Filesystem
Header: Poco/File_WIN32U.h

## Inheritance

Known Derived Classes: File, TemporaryFile

## Member Summary

Member Functions: canExecuteImpl, canReadImpl, canWriteImpl, convertPath, copyToImpl, createDirectoryImpl, createFileImpl, createdImpl, existsImpl, freeSpaceImpl, getExecutablePathImpl, getLastModifiedImpl, getPathImpl, getSizeImpl, handleLastErrorImpl, isDeviceImpl, isDirectoryImpl, isFileImpl, isHiddenImpl, isLinkImpl, linkToImpl, removeImpl, renameToImpl, setExecutableImpl, setLastModifiedImpl, setPathImpl, setSizeImpl, setWriteableImpl, swapImpl, totalSpaceImpl, usableSpaceImpl

## Types Aliases

### FileSizeImpl

using FileSizeImpl = UInt64;

## Enumerations

### Options

OPT_FAIL_ON_OVERWRITE_IMPL = 0x01

## Constructors

### FileImpl

FileImpl();

### FileImpl

FileImpl(
const std::string & path
);

## Destructor

### ~FileImpl

virtual ~FileImpl();

## Member Functions

### canExecuteImpl

bool canExecuteImpl(
const std::string & absolutePath
) const;

### canReadImpl

bool canReadImpl() const;

### canWriteImpl

bool canWriteImpl() const;

### convertPath

static void convertPath(
const std::string & utf8Path,
std::wstring & utf16Path
);

### copyToImpl

void copyToImpl(
const std::string & path,
int options = 0
) const;

### createDirectoryImpl

bool createDirectoryImpl();

### createFileImpl

bool createFileImpl(
bool createDirectories = false
);

### createdImpl

Timestamp createdImpl() const;

### existsImpl

bool existsImpl() const;

### freeSpaceImpl

FileSizeImpl freeSpaceImpl() const;

### getExecutablePathImpl

std::string getExecutablePathImpl() const;

### getLastModifiedImpl

Timestamp getLastModifiedImpl() const;

### getPathImpl

const std::string & getPathImpl() const;

### getSizeImpl

FileSizeImpl getSizeImpl() const;

### handleLastErrorImpl

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

### isDeviceImpl

bool isDeviceImpl() const;

### isDirectoryImpl

bool isDirectoryImpl() const;

### isFileImpl

bool isFileImpl() const;

### isHiddenImpl

bool isHiddenImpl() const;

### isLinkImpl

bool isLinkImpl() const;

### linkToImpl

void linkToImpl(
const std::string & path,
int type
) const;

### removeImpl

void removeImpl();

### renameToImpl

void renameToImpl(
const std::string & path,
int options = 0
);

### setExecutableImpl

void setExecutableImpl(
bool flag = true
);

### setLastModifiedImpl

void setLastModifiedImpl(
const Timestamp & ts
);

### setPathImpl

void setPathImpl(
const std::string & path
);

### setSizeImpl

void setSizeImpl(
FileSizeImpl size
);

### setWriteableImpl

void setWriteableImpl(
bool flag = true
);

### swapImpl

void swapImpl(
FileImpl & file
);

### totalSpaceImpl

FileSizeImpl totalSpaceImpl() const;

### usableSpaceImpl

FileSizeImpl usableSpaceImpl() const;