📄 ysfile.h
字号:
#ifndef __YSFILE_H_#define __YSFILE_H_#include <dirent.h>#include <unistd.h>#include <stdio.h>#include "YsString.h"#include "YsList.h"class YsFile;typedef YsFile QFile;#ifndef BYTE#define BYTE unsigned char#endiftypedef enum _OPENMODE{ IO_Append, IO_ReadOnly, IO_ReadWrite, IO_Translate, IO_Truncate, IO_WriteOnly} OpenMode;class YsFile{public: YsFile(); YsFile(YsString fileName) {m_fileName = fileName;m_fp=0;} virtual ~YsFile(); YsString filename() {return m_fileName;}; void setFileName(YsString name) {m_fileName=name;}; void setName(YsString name); bool close(); bool open(OpenMode mode); bool remove(); bool rename(YsString newName); bool exists(); bool copy(YsString newFile); long readBlock(BYTE *pBuff, int maxSize); long writeBlock(BYTE *pBuff, int size); long writeBlock(BYTE *pBuff, unsigned char size) { return writeBlock(pBuff,(int)size); } long writeBlock(BYTE *pBuff, unsigned int size) { return writeBlock(pBuff,(int)size); } long writeBlock(BYTE *pBuff, char size) { return writeBlock(pBuff,(int)size); } long readLine(char *pBuff, int maxSize); YsString readLine() { char buf[10241]; memset(buf,0,10241); readLine(buf,10240); YsString str=buf; return str; } long size(); long write(BYTE *pBuff, int size) {return writeBlock(pBuff,size);}; long write(char* pBuff, int size) {return writeBlock((BYTE*)pBuff, size);}; FILE * getHandle() {return m_fp;}; int at(int pos); bool atEnd() { if(feof(m_fp) == 0) return false; else return true; } YsString name() { if(m_fileName.findRev("/") < 0) return ""; return m_fileName.right(m_fileName.length() - m_fileName.findRev("/")); } //static member static bool copy(YsString fileName, YsString newFile); static bool exists(YsString fileName); static bool remove(YsString fileName); static bool rename(YsString fileName,YsString newFile);private: YsString m_fileName; FILE *m_fp; };class YsTextStream{ public: YsTextStream(YsFile *pFile); ~YsTextStream(); //operator YsTextStream& operator<<(const YsString &str); YsTextStream& operator<<(const char* pStr); YsString readLine(); bool atEnd(); private: YsFile *m_pFile;};typedef YsTextStream QTextStream;#include <limits.h>#include <unistd.h>class YsDir;typedef YsDir QDir;class YsDir{public: YsDir() { m_fileList.setAutoDelete(true); } YsDir(YsString dirName) { m_sDirName = dirName; m_fileList.setAutoDelete(true); } YsDir(YsString dirName, YsString nameFilter) { m_sDirName = dirName; m_sFilter = nameFilter; } ~YsDir() { m_fileList.clear(); } bool rename(YsString oldName, YsString newName); bool remove(YsString name); bool exists(YsString name); static void setCurrent(YsString dir); YsString operator[](int index) { if(index > (int)m_fileList.count()) return ""; return *(m_fileList[index]); } int count() { m_fileList.clear(); DIR *dir; struct dirent *ptr; dir=opendir(m_sDirName.data()); while((ptr = readdir(dir)) != 0) { YsString str=m_sFilter; str.replace("*",""); YsString *pStr=new YsString(ptr->d_name); if(pStr->find(str) < 0) { delete pStr; continue; } m_fileList.append(pStr); } closedir(dir); return 0; } private: YsString m_sDirName; YsString m_sFilter; CYsPtrList<YsString> m_fileList;public: static YsString currentPath(); static YsString currentDirPath() {return currentPath();};};#endif /*__YSFILE_H_*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -