Qt对文件的创建、打开、写入、关闭都有自己的库函数,我们在使用的时候只要包含相应的头文件,就可以轻松的对文件进行操作了
//头文件:ExportToFile.h
#ifndef OUTPUTCSV_H
#define OUTPUTCSV_H
#include <QDir>
#include <QTextStream>
class ExportToFile
{
public:
OutputCSV();
bool exportToFile(const QString context, const QString fileName, const QString filePath);
private:
};
#endif // OUTPUTCSV_H
//源文件:ExportToFile.cpp
#include "OutputCSV.h"
OutputCSV::OutputCSV(QObject *parent) : QObject(parent)
{
}
/*导出数据流到相应路径下的文件中*/
bool OutputCSV::exportToFile(const QString context, const QString fileName, const QString filePath)
{
bool res = false;
QDir folder;
QFile file;
bool pathCheck = true;
if(!folder.exists(filePath)) {
pathCheck = folder.mkpath(filePath);
}
if(pathCheck) {
QString fileUrl = filePath + "/" + fileName;
file.setFileName(fileUrl);
file.open(QIODevice::ReadWrite);
if(file.isOpen()) {
QTextStream out(&file);
if(file.size() > 0) {
if(file.resize(0)) {
out << context;
out.flush();
res = true;
}
} else {
out << context;
out.flush();
res = true;
}
}
file.close();
}
return res;
}