namespace XGame.Framework.FileSystem { /// /// 文件操作接口 /// public interface IFileOperator { /// /// 获取文件名 /// /// /// /// string GetFileName(string fullName, bool withoutExt = true); /// /// 拓展名 /// /// 文件全路径(含拓展名) /// 拓展名(不包含“.”) string Extension(string fullName); /// /// 文件是否存在 /// /// 文件全路径(含拓展名) /// True: 存在; False: 不存在; bool Exist(string fullName); /// /// 删除文件 /// /// 文件全路径(含拓展名) /// True: 删除成功; False: 删除失败; bool Delete(string fullName); /// /// 获取文件所在文件夹路径(全路径) /// /// 文件全路径(含拓展名) /// 文件夹全路径 string GetDirectory(string fullName); /// /// 复制文件 /// TODO: 暂时只支持包外文件到包外 /// /// 源文件 /// 目标文件 /// 是否覆盖 /// True: 复制成功; False: 复制失败; bool Copy(string source, string destination, bool overwrite); /// /// 异步复制文件 /// /// 源文件 /// 包外文件全路径 /// 覆盖 /// ICopyFileAsync CopyFileAsync(string source, string destination, bool overwrite); /// /// 移动文件 /// /// 源文件 /// 目标文件路径 void Move(string source, string destination); /// /// 保存字节数组到本地 /// /// 文件全路径(包外) /// void WriteAllBytes(string filePath, byte[] bytes); /// /// 保存字符串到本地 /// /// 文件全路径(包外) /// 内容 void WriteAllText(string filePath, string contents); /// /// 读取文件 /// /// 文件全路径(包内包外都可以) /// 文件内容 byte[] ReadAllBytes(string filePath); /// /// 读取文本(UTF-8) /// /// 文件全路径(包内包外都可以) /// 文本内容 string ReadAllText(string filePath); /// /// 异步读取文件 /// /// 文件全路径(包内包外都可以) /// 文件内容 IReadFileAsync ReadFileAsync(string filePath); /// /// 重命名 /// /// /// /// bool Rename(string from, string to); } }