1 #ifndef __FILESYS_HPP__ 2 #define __FILESYS_HPP__ 5 #if defined(_MSC_VER) || defined(WIN32) 15 #if defined(_MSC_VER) || defined(WIN32) 24 String const lineSep =
"\n";
25 String const pathEnvSep =
":";
27 String const LineSep =
"\n";
28 String const PathEnvSep =
":";
138 #define LOG(s) winux::WriteLog(s) 139 #define BIN_LOG(d,s) winux::WriteBinLog((d),(s)) 146 #define interface struct 168 #if defined(_MSC_VER) || defined(WIN32) 169 WIN32_FIND_DATA _wfd;
182 String getFullPath()
const;
184 String getRealPath()
const;
199 virtual bool open(
String const & filename,
String const & mode );
201 virtual bool close();
208 virtual bool rewind();
210 virtual bool seek(
long offset );
216 virtual int puts(
String const & str );
243 virtual bool open(
String const & filename,
String const & mode );
244 virtual bool close();
248 virtual bool rewind();
249 virtual bool seek(
long offset );
252 virtual int puts(
String const & str );
259 operator bool()
const {
return _fp != NULL; }
283 int puts(
String const & str );
311 #endif //__FILESYS_HPP__ String PathWithSep(String const &path)
路径分隔符整理
StringArray _blockFiles
要加载的分块文件
String _filetitle
文件标题 filename
winux::ulong _blockSize
块大小
bool IsAbsPath(String const &path)
判断是否为绝对路径
void FolderData(String const &path, StringArray *fileArr, StringArray *subFolderArr, int sortType=0)
获取文件夹中的文件和子文件夹,sortType:0结果不排序 1正序 2反序
String _basename
文件名 filename.txt
bool FilePutContents(String const &filename, AnsiString const &content, bool textMode=true)
把AnsiString内容写入文件,textMode表示是否为文本模式
bool FileTime(String const &filename, ulong *ctime, ulong *mtime, ulong *atime)
获取文件时间
std::basic_string< char > AnsiString
bool SetCurrentDir(String const &path)
设置当前工作目录
FileSysError(int errType, AnsiString const &s)
String NormalizePath(String const &path)
使路径规则化(末尾不带路径分割符)
String const & getName() const
取得文件名
String FilePath(String const &fullPath, String *fileName=NULL)
获取路径名(末尾不含目录分隔符)
String const & getPath() const
取得路径
String _filetitle
文件标题 filename
bool MakeDirExists(String const &path, int mode=0755)
确保目录路径的存在性,如果不存在则创建。
#define DISABLE_OBJECT_COPY(clsname)
String PathNoSep(String const &path)
std::vector< String > StringArray
bool FileTouch(String const &filename, ulong time=(ulong)-1, ulong atime=(ulong)-1)
更新文件修改时间,访问时间
void WriteLog(String const &s)
日志
String _dirname
目录名 path/to
String _basename
文件名 filename.txt
void WriteBinLog(void const *data, int size)
二进制日志
winux::ulong loadedSize() const
缓冲区,表示内存中一块2进制数据(利用malloc/realloc进行内存分配)
bool FilePutContentsEx(String const &filename, Buffer const &content, bool textMode)
把Buffer内容写入文件,textMode表示是否为文本模式
String CombinePath(String const &dirPath, String const &fileName)
把一个目录路径和一个文件名组合成一个新路径
ulong EnumFiles(String const &path, Mixed const &ext, StringArray *arrFiles, bool isRecursive=false)
在指定路径下枚举指定扩展名的文件
bool DetectPath(String const &path, bool *isDir=NULL)
探测一个路径是存在还是不存在,是目录还是文件
bool IsDir(String const &path)
判断是否是一个目录
#define WINUX_FUNC_DECL(ret)
String FileTitle(String const &fileName, String *extName=NULL)
获取文件标题
ulong FileCTime(String const &filename)
获取文件创建时间
String GetCurrentDir(void)
返回当前工作目录(末尾不含目录分隔符)
ulong FileSize(String const &filename)
获取文件大小
String RealPath(String const &path)
计算真实路径
String GetExecutablePath(void)
获取可执行文件的全路径
AnsiString FileGetContents(String const &filename, bool textMode=true)
载入文件内容为一个AnsiString,textMode表示是否为文本模式
ulong CommonDelete(String const &path)
通用删除,删除文件夹和文件,返回删除的文件夹和文件数
unsigned long long uint64
String const PathEnvSep
PATH环境变量路径分割符
uint64 FileSize64(String const &filename)
获取文件大小(大于4GB的文件)
ulong FileMTime(String const &filename)
获取文件修改时间
std::basic_string< tchar > String
ulong FileATime(String const &filename)
获取文件访问时间
String _dirname
目录名 path/to
String const pathEnvSep
PATH环境变量路径分割符
Buffer FileGetContentsEx(String const &filename, bool textMode)
载入文件内容为一个Buffer,textMode表示是否为文本模式