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視訊教程