namespace XGame.Framework.FileSystem
{
///
/// 文件夹操作接口
///
public interface IDirectoryOperator
{
///
/// 新建文件夹(逐级新建)
///
/// 文件夹全路径
/// True: 新建成功; False: 新建失败
bool Mkdir(string fullDirectory);
///
/// 删除文件夹
///
/// 文件夹全路径
/// 删除自身
/// True: 删除成功; False: 删除失败;
bool Delete(string fullDirectory, bool includeSelf = true);
///
/// 文件夹是否存在
///
/// 文件夹全路径
/// True: 存在; False: 不存在;
bool Exist(string fullDirectory);
///
/// 复制(含子文件夹和子文件)
///
/// 源文件夹
/// 目标文件夹(清空)
/// True: 复制成功; False: 复制失败
bool Copy(string source, string destination, bool overwrite);
///
/// 获取文件夹名
///
/// 文件夹全路径
/// 文件夹名(最后一个"/")
string GetDirectoryName(string fullDirectory);
///
/// 获取文件夹下的所有文件或者文件夹的路径
///
/// 文件夹全路径
///
string[] GetFileSystemEntries(string fullDirectory);
///
/// 异步删除文件夹
///
/// 完整路径
/// 是否包含自身
///
IDeleteDirectoryAsync DeleteAsync(string fullDirectory, bool includeSelf = true);
///
/// 重命名
///
///
///
///
bool Rename(string from, string to);
///
/// 获取文件夹下指定拓展名文件
///
/// 根文件夹全路径
/// 拓展名(".xxx")
/// 递归
///
string[] GetFiles(string fullDirectory, string extension, bool recursion = true);
}
}