在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;