Inherited from NULL
Inherited by NULL
Friend class NULL
Description
XBufferIO是为文件IO构建的工具类,它从内存中开辟一块内存专门用于缓冲写入文件或从文件中读取的内容,在缓冲区满的时候一次性写出或读入新的文件内容,以提高文件IO的速度,从而有效避免频繁的硬盘IO操作所导致的性能瓶颈。
Members
Public interface
Path m_strPath
被处理文件的路径
DBVersion m_Version
被处理文件的版本号
void* m_pFp
被处理文件的句柄
int64 m_liSize
读入文件的大小
int m_iOpenMode
文件打开的模式,分为二进制读取、二进制写出、文本读取、文本写出四种模式。
char * m_pBuf
内容缓冲区地址
int m_iBufSize
内容缓冲区大小
int m_iBufMode
缓冲区模式,二进制或者文本
char m_cKeyPrefix
文件模式下,关键字的前导字符
int m_iEncode
文本模式下的文本编码
char * g_curBufPos
在缓冲区中的文件内容的当前访问地址
size_t g_iBufFreeSize
缓冲区剩余空间大小
int64 m_DoneSize
已经处理完的文件内容总大小(不包含缓冲区中的内容)
XBufferIO(XBufferIOType type,const char * path = 0,int buf_size = MEG)
~XBufferIO()
void * getFileHandle()
bool open(IOFlag f)
bool isEnd()
void close()
TypeID getEncode()
XBufferIOType type()
int64 size()
void setPath(const char * path)
int64 getCurPos()
void setTotalSize(int64 t_size)
void setCurPos(int64 pos, bool bRead = false)
void setKeywordPrefix(char c)
bool pumpBuffer(bool bReverse = false)
void jumpBufferEnd()
bool backward(int size)
bool forward(int size)
void resetBuffer()
void flushBuffer()
void setBufferSize(int size)
void showProgress()
void writeChar(char c)
char readChar()
const DBVersion & getVersion()
void setVersion(int major, int minor, int sub, int build)