#include "filehandler.h" #include #include #include #include bool FileHandler::saveToFile(const QJsonDocument& doc, const QString& fileName) { qDebug() << "saving file..."; QString path = QStandardPaths::standardLocations(QStandardPaths::AppDataLocation).at(0); qDebug() << path; QDir dir; if (!dir.exists(path)) { dir.mkpath(path); } // qDebug() << path + fileName; const QString filePath = path + '/' + fileName; QFile file(filePath); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { qWarning() << "can't open file"; return false; } QTextStream out(&file); out.setEncoding(QStringConverter::Utf8); out << doc.toJson(QJsonDocument::Indented); return true; } QByteArray FileHandler::loadJSONDataFromFile(const QString fileName) { QByteArray jsonData; QFile file; QString path = QStandardPaths::standardLocations(QStandardPaths::AppDataLocation).at(0); file.setFileName(path + "/" + fileName); if (file.exists()) { qDebug() << "File found, reading content..."; const bool successfulOpened = file.open(QIODevice::ReadOnly | QIODevice::Text); if (successfulOpened) { // TODO learn and decide on the differences between "readAll" and using // streams jsonData = file.readAll(); file.close(); } else { qWarning() << "File could not be opened!"; } } else { qInfo() << "File not found. Returning empty result..."; } return jsonData; } FileHandler::FileHandler() {}