NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
filesystem类 参考

文件系统操作工具类 更多...

#include <filesystem.hpp>

静态 Public 成员函数

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.hpp30 行定义.

成员函数说明

◆ 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

创建目录(含所有父级目录)

参数
p要创建的目录路径
返回
创建成功返回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

删除文件

参数
p要删除的文件路径
返回
删除成功返回true,文件不存在或为目录返回false

只删除文件,不能用于删除目录。 如果文件具有只读属性,在Windows上会删除失败。

◆ remove_all()

bool filesystem::remove_all ( const path & p)
static

删除文件或目录

参数
p要删除的文件或目录路径
返回
删除成功返回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

删除空目录

参数
p要删除的目录路径
返回
删除成功返回true,目录不存在或非空返回false

只能删除空目录。如需删除非空目录,请使用remove_all()。

◆ rename()

bool filesystem::rename ( const path & old_name,
const path & new_name )
static

重命名文件或目录

参数
old_name原路径
new_name新路径
返回
重命名成功返回true

要求新路径在同一文件系统内。

◆ size()

size_t filesystem::size ( const path & p)
staticnoexcept

获取文件大小

参数
p文件路径
返回
文件大小(字节),如果文件不存在或获取失败返回0

对于目录,返回0。 对于大文件可能返回截断值。


该类的文档由以下文件生成: