QT中檔案讀寫操作

2021-10-08 10:21:25 字數 2655 閱讀 3397

void widget::on_pushbutton_clicked()

ui->text_r->settext(qstring(t));

file.close();

}}

void widget::on_pushbutton_2_clicked()

qstring -> qbytearray      qstring.toutf8();

qbytearray -> std::string  qbytearray.tostdstring();

std::string -> char *        string.date();

獲取檔案資訊;

qfileinfo類用於讀取檔案的屬性資訊

qfile file(f);

qfileinfo info(file);

qdebug() << info.exists();

qdebug() << info.isfile();

qdebug() << info.isreadable();

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中將檔案分為文字檔案和資料檔案,文字檔案內容是可讀的文字字元,資料檔案的內容是二進位制資料。

為了簡化文字檔案和資料檔案的讀寫操作,qt提供了qtextstream和qdatastream輔助類。qtextstream可將寫入的資料全部轉換為可讀文字,qdatastream可將寫入的資料根據型別轉換為二進位制資料。

qtemporaryfile是qt中的臨時檔案操作類,用來安全建立全域性唯一的臨時檔案,qtemporaryfile物件銷毀時對應的臨時檔案將被刪除,臨時檔案的開啟方式為qiodevice::readwrite,臨時檔案常用於大資料傳遞或者程序間通訊場合。

qtemporaryfile tempfile;

if( tempfile.open() )

qdatastream class

資料流操作檔案:

建立流物件 qdatastream date;

int a= ***x;

string b = "*********" ;

將資料存在流中 date >> a >> b;

int aa;

string bb;

從流中取出資料 date << aa << bb;

qdatastream在不同的qt版本中資料流檔案格式可能是不同的,如果資料流檔案需要在不同版本的qt程式間傳遞時需要考慮版本問題。

void setversion(int v)

int version() const

qtextstream class

文字方式操作檔案:

建立流物件 qtextstream date;

date.setcodec();支援對檔案讀取編碼設定(有效解決亂碼問題)

qbuffer類為qbytearray提供qiodevice介面。

目前先理解為乙個建立乙個快取檔案;

qt中預定義了緩衝區的類qbuffer,可以將緩衝區看成一種特殊的io裝置,檔案流輔助類可以直接用於操作緩衝區。qbuffer緩衝區寫入和讀取的資料必須是同一種資料型別,不能混合多種資料型別。

qbuffer的使用場合:

a、執行緒間不同型別的資料傳遞

b、快取外部裝置中的資料返回

c、資料讀取速度小於寫入速度

讀寫操作主要方法有read();readall();readline(),write();

目錄操作

qt中提供了目錄操作類qdir,qdir功能如下:

a、目錄分隔符統一使用』/』

b、能夠對目錄進行任意操作(建立、刪除、重新命名)

c、能夠獲取指定目錄中的所有條目(檔案和資料夾)

d、能夠使用過濾字串獲取指定條目

e、能夠獲取系統中的所有根目錄

qdir使用方法如下:

qdir dir;

qstring path("../qt/test");

if(!dir.exists())

else

}//計算檔案大小

unsigned int filesize(qstring path)

else if(info.isdir())}}

return ret;

}qt中預定義了用於監控檔案和目錄變化的類qfilesystemwatcher,

qfilesystemwatcher主要功能如下:

a、能夠監控特定目錄和檔案的狀態

b、能夠同時對多個檔案和目錄進行監控

c、當目錄或檔案發生改變時觸發訊號

d、通過訊號與槽的機制捕捉訊號並做出響應

通常要使用qfilesystemwatcher需要自定義檔案監視類。

Qt檔案讀寫操作

if file.open qiodevice writeonly file.write hello qt file.close 以讀的方式開啟 if file.open qiodevice readonly 當然也有其它兩種方式來實現讀 寫檔案 1.使用文字流讀寫文字檔案 qfile file my...

PHP中檔案讀寫操作

以下為檔案讀寫操作的 基本php函式及模式 看不明白就記住他 關於模式 r 唯讀方式開啟,檔案指標置於檔案頭 r 讀寫方式開啟,檔案指標置於檔案頭 w 只寫開啟,檔案指標置於檔案頭,檔案被剪下為0位元組,如果檔案不存在,嘗試建立檔案 w 讀寫開啟,檔案指標置於檔案頭,檔案大小被剪下為0位元組,如果檔...

PHP中檔案讀寫操作

以下為檔案讀寫操作的 基本php函式及模式 看不明白就記住他 關於模式 r 唯讀方式開啟,檔案指標置於檔案頭 r 讀寫方式開啟,檔案指標置於檔案頭 w 只寫開啟,檔案指標置於檔案頭,檔案被剪下為0位元組,如果檔案不存在,嘗試建立檔案 w 讀寫開啟,檔案指標置於檔案頭,檔案大小被剪下為0位元組,如果檔...