#include "DataFileProcessor.h" DataFileProcessor::DataFileProcessor(QObject* parent /*= nullptr*/) { #ifdef _DEBUG m_qstrFilePath = "E:/WorkSpace/TowerOptoSifAndSpectral/Data"; #else m_qstrFilePath = "/home/data/Data"; m_qstrWavelengthInfoFileName = "/home/data/Data/WavelengthInfo.txt"; #endif // DEBUG } DataFileProcessor::~DataFileProcessor() { } int DataFileProcessor::WriteWavelengthInfo(float *pfWaveLength, int iLength) { QFileInfo qfFileInfo(m_qstrWavelengthInfoFileName); if (qfFileInfo.isFile()) { return 0; } else { bool bRes = true; QFile qfData(m_qstrWavelengthInfoFileName); bRes = qfData.open(QFile::WriteOnly | QFile::Text | QFile::Truncate); if (!bRes) { //qDebug() << "WriteEnvironmentInfo open Failed."; printf("WriteWavelengthInfo QFile open Failed"); return 1; } QString qstrTemp = "wavelength = "; qfData.write(qstrTemp.toLatin1()); qfData.write("{ "); for (int i=0;i< iLength;i++) { qstrTemp =QString::number(pfWaveLength[i], 'f', 2); if (i== (iLength-1)) { qfData.write(qstrTemp.toLatin1()); } else { qfData.write(qstrTemp.toLatin1()); qfData.write(", "); } } qfData.write("}"); qfData.close(); } return 0; } int DataFileProcessor::WriteData(DataFrame dfDataFrame) { QFile qfData(m_qstrFullFileName); qDebug() << m_qstrFullFileName; bool bRes = qfData.open(QFile::WriteOnly| QIODevice::Append); if (!bRes) { printf("WriteData QFile open Failed"); return 0; } qfData.write((char*)&dfDataFrame, sizeof(DataFrame)); qfData.flush(); return 0; } void DataFileProcessor::LoadWaveLengthFile(QString qstrFileName) { //E:\WavelengthInfo.txt QFile qfWavelength(qstrFileName); //QFile qfWavelength(); bool bRes = qfWavelength.open(QFile::ReadOnly); if (!bRes) { printf("LoadWaveLengthFile open Failed."); return; } QString qsData = qfWavelength.readAll(); int iTemp = qsData.size(); qsData.remove(iTemp - 1, 1); qsData.remove(0, 14); QStringList qsList = qsData.split(','); for (int i=0;i