Qt 筆記:Qt中的IO操作
阿新 • • 發佈:2018-12-09
Qt中IO操作的處理方式
-Qt通過統一的介面簡化了檔案與外部裝置的操作方式
-Qt中的檔案被看做一種特殊的外部裝置
-Qt中的檔案操作與外部裝置的操作相同
IO操作中的關鍵函式介面
-開啟裝置:bool open(OpenMode mode)
-讀取資料:QByteArray read(qint64 maxSize)
-寫入資料:qint64 write(const QByteArray &byteArray)
-關閉裝置:void close()
IO操作的本質:連續儲存空間的資料讀寫
Qt中IO裝置的型別
-順序存取裝置
·只能從頭開始順序的讀寫資料,不能指定資料的讀寫位置
-隨機存取裝置
·可以定位到任意的位置進行資料的讀寫(seek function)
Qt中IO裝置的繼承層次圖
QFile是Qt中用於檔案操作的類
QFile物件物件到計算機上的一個檔案
QFile file("C:/test.txt"); if(file.open(QIODevice::WriteOnly | QIIODevice::Text)) { file.write("some"); file.close(); } if(file.open(QIODevice::ReadOnly | QIODevice::Text)) { QByteArray ba = file.readAll(); QString str(ba); qDebug() << str; file.close(); }
QFileInfo類:讀取檔案屬性資訊
QFile file("C:/test.txt"); QFileInfo info(file); qDebug() << info.exists(); qDebug() << info.isFile(); qDebug() << info.isReaddable(); qDebug() << info.isWritable(); qDebug() << info.created(); qDebug() << info.lastRead(); qDebug() << info.lastModified(); qDebug() << info.path(); qDebug() << info.fileName(); qDebug() << info.suffix(); qDebug() << info.size();
Qt中提供了臨時檔案操作類QTemporaryFile
-安全地建立一個全域性唯一的臨時檔案
-當物件銷燬時對應的臨時檔案將被刪除
-歷史檔案的開啟方式為QIODevice::ReadWrite
-臨時檔案常用於大資料傳遞或者程序間通訊的場合
QTemporaryFile tempFile;
if( tempFile.open() )
{
tempFile.write("some");
tempFile.close();
}
QFileInfo info(tempFile);
qDebug() << info.isFile();
qDebug() << info.path();
qDebug() << info.fileName();
總結:
·Qt通過統一的方式讀寫檔案和外部裝置
·Qt中IO裝置的型別分為順序存取和隨機存取兩種
·QFile提供了檔案操作相關的方法
·QFileInfo提供了讀取檔案屬性相關的方法
Qt中提供了臨時檔案操作類QTemporaryFile