在Qt中文件的讀寫通常涉及到QDataStream和QTextStream兩個類的使用,其中QDataStream類在讀寫時要設置版本號;QTextStream是文本內容讀寫,不用設置版本號。在此,對文件進行讀寫。ui
寫入二進制文件:code
//三組源數據,隨便寫的 QMap<QString, QColor> map; map.insert("red", Qt::red); map.insert("blue", Qt::blue); map.insert("green", Qt::green); QImage image("1.jpg"); quint64 quint_64(12345678); //建立要寫入數據的文件,並檢測是否可寫 QFile file01("facts1.dat"); if ( !file01.open(QIODevice::WriteOnly)) { return; } //建立二進制數據流,與要寫的文件綁定,設置二進制版本 QDataStream out_stream(&file01); out_stream.setVersion(QDataStream::Qt_5_0); //將數據以二進制格式寫入文件 out_stream<< quint_64 << image << map;
寫入文本文件:it
//三組源數據,隨便寫的 QString content("hello world!"); quint64 quint_64(12345678); //建立要寫入數據的文件,並檢測是否可寫 QFile file01("facts1.dat"); if ( !file01.open(QIODevice::WriteOnly)) { return; } //建立二進制數據流,與要寫的文件綁定,文本流不用設置版本 QDataStream out_stream(&file01); //將數據以二進制格式寫入文件 out_stream<< quint_64 << content;