以二进制方式向磁盘中存入数据并读取
    .h文件
    public:
    explicit DataStreamService(QObject *parent = nullptr);

    1. QFile file;<br /> QDataStream stream;
    2. void openWrite(QString expName, QString fileName);<br /> void setData(QByteArray array);
    3. void openRead(QString expName, QString fileName);<br /> bool hasNext();<br /> QByteArray getData();
    4. void closeFile();

    private:
    QString rootDir = “data”;
    void initDir(QString expName);

    cpp文件
    void DataStreamService::initDir(QString expName)
    {
    QDir dir;
    if(!dir.exists(rootDir + “/“ + expName)) {
    dir.mkpath(rootDir + “/“ + expName);
    }
    }

    void DataStreamService::openWrite(QString expName, QString fileName)
    {
    this->initDir(expName);
    file.setFileName(rootDir + “/“ + expName + “/“ + fileName);
    file.open(QIODevice::WriteOnly);
    stream.setDevice(&file);
    stream.setVersion(QDataStream::Qt_5_9);
    }

    void DataStreamService::setData(QByteArray array)
    {
    stream << array;
    }

    void DataStreamService::openRead(QString expName, QString fileName)
    {
    file.setFileName(rootDir + “/“ + expName + “/“ + fileName);
    file.open(QIODevice::ReadOnly);
    stream.setDevice(&file);
    }

    bool DataStreamService::hasNext()
    {
    if(stream.atEnd()) {
    return false;
    }
    return true;
    }

    QByteArray DataStreamService::getData()
    {
    QByteArray array;
    if(stream.atEnd()) {
    return NULL;
    } else {
    stream >> array;
    }
    return array;
    }

    void DataStreamService::closeFile()
    {
    file.close();
    }

    存入的类型为QByteArray , 读取出来也是这个类型