1. 程式人生 > >qt中的IO操作

qt中的IO操作

在Qt裡檔案被看成一種特殊的外部裝置。與外部裝置的操作方式相同。qt通過統一的藉口來操作檔案及外部裝置。

 

操作方式:

(1).開啟裝置:open();

(2).讀取資料:  read()

(3).寫入資料:  write()

(4).關閉裝置:  close()

 

qt中IO裝置的型別:

順序儲存裝置:只能從頭到尾開始讀取資料,不能指定讀寫資料的位置

隨機儲存裝置:可以定位到任意位置進行資料的讀寫

 

QtIO裝置類繼承圖;

 

 

詳細程式碼例項:

#include <QCoreApplication>

#include <QFile>

#include <QByteArray>

#include <QDebug>

#include <QFileInfo>  //檔案資訊類

#include <QTemporaryFile>  

#include <QDateTime>

 

void write(QString s)  //檔案寫入

{

    QFile file(s);

 

    if(file.open(QFile::WriteOnly | QIODevice::Text))

    {

        file.write("BadogYang student\n");

        file.write("D.T Software\n");

 

        file .close();

    }

}

 

void read(QString s)  //檔案讀取

{

    QFile file(s);  //建立檔案

 

    if(file.open(QFile::ReadOnly | QIODevice::Text))  //開啟檔案

    {

        QByteArray ba = file.readLine();     //讀取檔案

        QString s(ba);

 

        qDebug() << s;

 

        file.close();

    }

}

 

void fileInfo(QString s) //列印檔案資訊

{

    QFile file(s);

    QFileInfo info(file);

 

    qDebug() << info.fileName();

    qDebug() << info.path();

    qDebug() << info.isReadable();

    qDebug() << info.isWritable();

 

    file.close();

}

 

int main(int argc, char *argv[])

{

    QCoreApplication a(argc, argv);

 

    //write("H:/test.txt");

    //read("H:/test.txt");

    //fileInfo("H:/test.txt");

 

    QTemporaryFile file;   //建立臨時檔案物件

    if(file.open())

    {

        file.write("badogyang\n");

 

        file.close();

    }

 

    QFileInfo info(file);

    qDebug() << info.fileName();

    qDebug() << info.filePath();

    qDebug() << info.created();

 

    file.close();   //關閉檔案

 

    return a.exec();

}

 

Qt中的臨時檔案類QTemporaryFile用於建立全域性唯一的臨時檔案,當物件銷燬時檔案也會銷燬,開啟方式為讀寫(QIOdevice::ReadWrite),常用於大資料傳遞與程序間的通訊。

 

//文章參考狄泰軟體學院Qt視訊教程