文件系统操作工具类
更多...
#include <filesystem.hpp>
|
| static bool | create_directories (const path &p) |
| | 创建目录(含所有父级目录)
|
| static bool | remove (const path &p) noexcept |
| | 删除文件
|
| static bool | remove_directory (const path &p) noexcept |
| | 删除空目录
|
| static bool | remove_all_in_directory (const path &p, bool recursive=true) |
| | 删除目录内所有内容
|
| static bool | remove_all (const path &p) |
| | 删除文件或目录
|
| static bool | copy (const path &from, const path &to, bool overwrite=true) |
| | 复制文件
|
| static bool | copy_directory (const path &src, const path &dest, bool overwrite=true) |
| | 复制目录
|
| static bool | move (const path &from, const path &to, bool overwrite=true) |
| | 移动文件或目录
|
| static bool | rename (const path &old_name, const path &new_name) |
| | 重命名文件或目录
|
| static bool | create_and_write (const path &p, const string &content, bool append=false) |
| | 创建并写入文件
|
| static size_t | size (const path &p) noexcept |
| | 获取文件大小
|
文件系统操作工具类
提供文件与目录的创建、删除、复制、移动、重命名等操作。
- 注解
- 文件系统操作可能因权限不足而失败。
在文件 filesystem.hpp 第 30 行定义.
◆ copy()
| bool filesystem::copy |
( |
const path & | from, |
|
|
const path & | to, |
|
|
bool | overwrite = true ) |
|
static |
复制文件
- 参数
-
| from | 源文件路径 |
| to | 目标文件路径 |
| overwrite | 是否覆盖已存在的目标文件,默认为true |
- 返回
- 复制成功返回true
复制文件内容,保留文件权限和时间戳。 如果to是目录,文件将被复制到该目录下。 目标目录不存在时会自动创建。
◆ copy_directory()
| bool filesystem::copy_directory |
( |
const path & | src, |
|
|
const path & | dest, |
|
|
bool | overwrite = true ) |
|
static |
复制目录
- 参数
-
| src | 源目录路径 |
| dest | 目标目录路径 |
| overwrite | 是否覆盖已存在的文件,默认为true |
- 返回
- 复制成功返回true
递归复制整个目录树,包括所有子目录和文件。 目标目录不存在时会自动创建。
◆ create_and_write()
| bool filesystem::create_and_write |
( |
const path & | p, |
|
|
const string & | content, |
|
|
bool | append = false ) |
|
static |
创建并写入文件
- 参数
-
| p | 文件路径 |
| content | 要写入的内容 |
| append | 是否追加到文件末尾,默认为false |
- 返回
- 写入成功返回true
自动创建文件所在的目录(如果不存在)。 如果append为true,在文件末尾追加内容。
◆ create_directories()
| bool filesystem::create_directories |
( |
const path & | p | ) |
|
|
static |
创建目录(含所有父级目录)
- 参数
-
- 返回
- 创建成功返回true,如果目录已存在也返回true
自动创建路径中所有不存在的父级目录。
◆ move()
| bool filesystem::move |
( |
const path & | from, |
|
|
const path & | to, |
|
|
bool | overwrite = true ) |
|
static |
移动文件或目录
- 参数
-
| from | 源路径 |
| to | 目标路径 |
| overwrite | 是否覆盖已存在的目标,默认为true |
- 返回
- 移动成功返回true
跨文件系统时,会执行复制后删除原文件。 支持文件和目录的移动。
◆ remove()
| bool filesystem::remove |
( |
const path & | p | ) |
|
|
staticnoexcept |
删除文件
- 参数
-
- 返回
- 删除成功返回true,文件不存在或为目录返回false
只删除文件,不能用于删除目录。 如果文件具有只读属性,在Windows上会删除失败。
◆ remove_all()
| bool filesystem::remove_all |
( |
const path & | p | ) |
|
|
static |
删除文件或目录
- 参数
-
- 返回
- 删除成功返回true
如果是文件,直接删除; 如果是目录,递归删除目录及其所有内容。
◆ remove_all_in_directory()
| bool filesystem::remove_all_in_directory |
( |
const path & | p, |
|
|
bool | recursive = true ) |
|
static |
删除目录内所有内容
- 参数
-
| p | 目录路径 |
| recursive | 是否递归删除子目录,默认为true |
- 返回
- 删除成功返回true
清空目录中的所有文件和子目录,但不删除目录本身。 如果recursive为false,只删除目录中的文件,保留子目录。
◆ remove_directory()
| bool filesystem::remove_directory |
( |
const path & | p | ) |
|
|
staticnoexcept |
删除空目录
- 参数
-
- 返回
- 删除成功返回true,目录不存在或非空返回false
只能删除空目录。如需删除非空目录,请使用remove_all()。
◆ rename()
| bool filesystem::rename |
( |
const path & | old_name, |
|
|
const path & | new_name ) |
|
static |
重命名文件或目录
- 参数
-
- 返回
- 重命名成功返回true
要求新路径在同一文件系统内。
◆ size()
获取文件大小
- 参数
-
- 返回
- 文件大小(字节),如果文件不存在或获取失败返回0
对于目录,返回0。 对于大文件可能返回截断值。
该类的文档由以下文件生成: