前言
我记性一直不好,特别是一些零碎的东西更是记不住。所以这里记录一下QDir和QFile常用到的一些小知识。
QDir的一些小知识点
创建文件路径()
保存文件时,当需要保存一定的文件结构时,则需要创建文件路径,这个时候就用到了QDir的mkpath或mkdir,区别是:mkpath可以创建所需的多级文件结构,而mkdir只能创建一级。所以通常用的是mkpath。
帮助上的描述是:
bool QDir::mkpath(const QString &dirPath) const
Creates the directory path dirPath.
The function will create all parent directories necessary to create the directory.
bool QDir::mkdir(const QString &dirName) const
Creates a sub-directory called dirName.
QDir dir;
if (!dir.exists(strfilepath))
{
dir.mkpath(strfilepath);
}
删除文件夹(QDir)
删除指定的文件夹及其下面的文件
QDir dir(m_strFilePath);
dir.removeRecursively();
路径中'/'和'\'之间的转换(QDir)
//将 '\' 转为 '/'
strFilePath=QDir::fromNativeSeparators(strFilePath);
//将 '/' 转为 '\'
strFilePath=QDir::toNativeSeparators(strFilePath);
QFile的一些小知识
计算文件的哈希值
//计算哈希值
QCryptographicHash srcHash(QCryptographicHash::Md5);
QFile file(strPath);
if(file.open(QIODevice::ReadOnly))
{
while(!file.atEnd())
{
char buf[1024];
qint64 lineLength = file.readLine(buf, sizeof(buf));
if (lineLength != -1)
{
srcHash.addData(buf,lineLength);
}
}
file.close();
}
QString strSrcMD5=srcHash.result().toHex();
结束语
就这些吧,回头遇到后再补充。