elasticsearch入門系列">elasticsearch入門系列
2165
2022-05-30
本文主要描述如何使用Qt讀寫文本文件。Qt提供了Qfile類,主要用于文本文件的讀寫等操作管理。
下面分別通過讀取文件和寫文件來分開描述。
讀文件
讀取文件流程如下圖:
創(chuàng)建文件對(duì)象,指定文件名稱。
Qt使用QFile類來打開文本文件,創(chuàng)建對(duì)象時(shí),可以直接指定文件名稱。
例如:
QFile file("demo.txt");
也可以創(chuàng)建文件對(duì)象后,通過函數(shù)setFileName再指定。
例如:
QFile file; file.setFileName("demo.txt");
判斷文件是否存在
QFile類提供以下函數(shù)來判斷文件是否已經(jīng)存在:
bool QFile::exists() const
代碼示例:
QFile file("demo.txt"); if(file.exists()) { qDebug()<<"exists true"; } else { qDebug()<<"exists false"; }
打開文件
讀取文件前,需要先打開文件。
如果只是讀取文件,使用打開模式QIODevice::ReadOnly就可以了。因?yàn)樽x取的是文本文件,打開模式可以設(shè)置為QIODevice::Text;
代碼示例:
QFile file("demo.txt"); if(file.open(QIODevice::ReadOnly | QIODevice::Text)) { // 打開成功 } else { // 打開失敗 }
如果打開文件成功,就可以執(zhí)行后續(xù)讀取等步驟;
如果打開文件失敗,則無法進(jìn)行后續(xù)讀取操作。
打開文件失敗時(shí),可以通過函數(shù)打印出錯(cuò)信息。
Qt提供函數(shù):
QString QIODevice::errorString() const;該函數(shù)可以打印出錯(cuò)誤信息。
QFileDevice::FileError QFileDevice::error() const; 該函數(shù)可以打印出錯(cuò)誤碼。
獲取文件內(nèi)容;
readAll():讀取全部文件內(nèi)容。
readLine():按行讀取內(nèi)容;
返回內(nèi)容為QByteArray,可以直接轉(zhuǎn)為QString。
關(guān)閉文件
文檔成功打開后,結(jié)束操作后,一定要記得關(guān)閉文件。
結(jié)束
讀取文件操作結(jié)束。
寫文件
寫文件與讀文件邏輯差不多,區(qū)別在于打開方式,以及調(diào)用寫入函數(shù)(讀取調(diào)用讀取函數(shù))。
寫文件在打開文件時(shí),需要設(shè)置打開模式與可寫模式:QIODevice::WriteOnly;
文件寫入函數(shù):qint64 QIODevice::write(const QByteArray &byteArray)。
文件寫入結(jié)束后,一定要記得關(guān)閉文件。
其他
Qt也可以通過QFile + QTextSream的方式來讀寫內(nèi)容,這里不詳細(xì)說明啦。
Qt
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。