一、Qt文件讀寫
Qt提供了多種文件讀寫的方法,可以使用QFile、QIODevice、QTextStream等類對文件進行讀寫。其中,QFile是針對二進制文件進行讀寫的類,而QTextStream則是針對文本文件進行讀寫的類。
使用QFile類讀取文件的示例代碼如下:
QFile file("test.txt"); if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream in(&file); QString line = in.readLine(); // do something with line file.close(); }
代碼中,先創建一個QFile對象來打開文件,然後使用QTextStream類來讀取文件內容,並把文件內容按行讀取到QString對象中。讀取完成後,使用file.close()方法關閉文件。
使用QFile類寫入文件的示例代碼如下:
QFile file("test.txt"); if (file.open(QIODevice::WriteOnly | QIODevice::Text)) { QTextStream out(&file); out << "Hello, world!\n"; file.close(); }
代碼中,通過QFile::open()方法以WriteOnly和Text模式打開文件後,使用QTextStream類的<<運算符來寫入數據,並使用file.close()方法關閉文件。
二、Qt文件中寫入XML
在Qt中,可以使用QXmlStreamWriter類來寫入XML文件。QXmlStreamWriter類提供了開始元素、結束元素、寫入元素內容等方法,方便用戶進行XML文件的寫入。
寫入XML文件的示例代碼如下:
QFile file("test.xml"); if (file.open(QIODevice::WriteOnly | QIODevice::Text)) { QXmlStreamWriter xmlWriter(&file); xmlWriter.setAutoFormatting(true); xmlWriter.writeStartDocument(); xmlWriter.writeStartElement("root"); xmlWriter.writeStartElement("person"); xmlWriter.writeAttribute("name", "Tom"); xmlWriter.writeTextElement("age", "18"); xmlWriter.writeEndElement(); // person xmlWriter.writeEndElement(); // root xmlWriter.writeEndDocument(); file.close(); }
代碼中,首先創建QFile對象並打開文件,然後創建QXmlStreamWriter對象,並使用setAutoFormatting()方法啟用自動縮進和換行。在寫入XML之前,使用writeStartDocument()方法寫入XML文件的聲明,並使用writeStartElement()方法寫入XML文件的根節點。在根節點中,使用writeStartElement()方法寫入一個person節點,並使用writeAttribute()方法寫入節點的屬性。而使用writeTextElement()方法則是寫入節點的內容。然後使用writeEndElement()方法關閉節點,在最後使用writeEndDocument()方法寫入XML文件的結尾。最後用close()方法關閉文件。
三、Qt寫TXT文件
存儲一些非結構性數據時,文本文件是一種更好的方案,Qt提供了很多種寫入文本文件的方法,而QTextStream則是其中最常用的。
寫入TXT文件的示例代碼如下:
QFile file("test.txt"); if (file.open(QIODevice::WriteOnly | QIODevice::Text)) { QTextStream out(&file); out << "Hello, world!\n"; file.close(); }
代碼中,首先創建QFile對象並打開文件,然後用QTextStream類的<<運算符來寫入數據,並使用file.close()方法關閉文件。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/284885.html