#include "checkfile.h"
#include <QFileInfo>
#include <QDir>
#include <QRegExp>
#include <QDebug>
#include <QCoreApplication>
CheckFile::CheckFile(QString file)
{
qDebug() << "start check " << file;
QFileInfo info(file);
if(info.isFile())
{
isFileContainChinese(file);
}
else if(info.isDir())
{
QDir dir(file);
QFileInfoList fileList = dir.entryInfoList(QDir::Files);
foreach(QFileInfo fileInfo, fileList)
{
isFileContainChinese(fileInfo.absoluteFilePath());
}
}
qDebug() << "end check " << file;
QCoreApplication::exit(0);
}
bool CheckFile::isFileContainChinese(QString absPath)
{
QFile file(absPath);
QString s;
int i = 0;
if(file.open(QIODevice::ReadOnly))
{
while(!file.atEnd())
{
s = file.readLine();
i++;
if(s.contains(QRegExp("[\\x4e00-\\x9fa5]+"))) //判断是否有中文的正则表达式
{
qDebug() << absPath <<",line " << i <<" " << s << " contains chinese";
}
}
file.close();
}
}