目录操作 QDir、QFileInfo Linux下的目录 Windows下的目录
QDir.currentPath(); 返回当前路径 返回当前目录
QDir.homePath(); 返回用户目录 C:/Users/Administrator
QDir.rootPath(); 返回根目录 C:/
QDir.tempPath(); 返回临时目录 C:/Users/Administrator/AppData/Local/Temp
切换目录
QDir.cd("path");

QDir mDir("C:/Qt/workspace/lesson3"); foreach (QFileInfo mItem, mDir.entryInfoList()) { if(mItem.isDir()) qDebug() <<" Dir "<< mItem.filePath(); else if(mItem.isFile()) qDebug() <<" File "<< mItem.filePath(); }

QDir mDir(QDir::current()); QStringList filters; filters<<"*.cpp"<<"*.h"<<"*.txt"<<".pro"; mDir.setNameFilters(filters); qDebug()<<mDir.entryList(filters, QDir::Files); //开始过滤
文件操作 QFile QDir、QFileInfo
读写的方式打开文件 file.open(QIODevice::ReadWrite | QIODevice::Text | QIODevice::Append )
写入一行数据 file.write("hello world ");
QFile->seek(offset); 文件偏移值,默认是0 但是QIODevice::Append会把offset偏移到文件末尾
读取一行数据 file.readLine(); 如果是读写的方式打开 ,读的时候要确保文件的 seek(offset) 是0 ,再利用 while( ! file.atEnd()) 把所有行都读出来

QFile file("test.txt"); if( ! file.open(QIODevice::ReadWrite | QIODevice::Text | QIODevice::Append )) { qDebug()<<"open fail"; } file.write("hello world "); file.seek(0); while( ! file.atEnd()) { qDebug()<<file.readLine(); } file.close();
读取全部 file.readAll(); 一样要确保文件的 seek(offset) 是0 , 还有很多读写的接口函数