#include "mainwindow.h" #include <QtDebug> #include <QFile> #include <QDataStream> #include <QDate> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { fileFun(); } MainWindow::~MainWindow() { } void MainWindow::fileFun() { //將二進制數據寫到數據流。每個條目都以二進制格式寫入文件 //注意,讀取的時候也要使用相同的類型讀出 QFile file("binary.dat"); file.open(QIODevice::WriteOnly | QIODevice::Truncate); QDataStream out(&file); //將數據序列化 out << QString(tr("周何駿:")); //字符串序列化 out << QDate::fromString("1994/09/25", "yyyy/MM/dd"); out << (qint32)19; //整數序列化 file.close(); //從文件種讀取數據 file.setFileName("binary.dat"); if(!file.open(QIODevice::ReadOnly)) { qDebug()<< "error!"; return; } QDataStream in(&file); //從文件中讀出數據 QString name; QDate birthday; qint32 age; in >> name >> birthday >> age; //獲取字符串和整數 qDebug() << name << birthday << age; file.close(); }