Qt中文件写入和读取
来源:互联网 发布:sql大于某个时间 编辑:程序博客网 时间:2024/06/11 22:11
1.写入数据到文件
//writetext QFile file("./test.txt"); file.open( QIODevice::ReadWrite | QIODevice::Append); QTextStream out(&file); if(!ui->lineEdit->text().isEmpty() && !ui->lineEdit_2->text().isEmpty()){ out << ui->lineEdit->text(); out << ":"; out << ui->lineEdit_2->text(); out << "\n"; } file.close();
2.从文件中读取数据
QFile file("./test.txt"); if(!file.open(QIODevice::ReadOnly)) { return; } QTextStream in(&file); while(!in.atEnd()){ QString onecount = in.readLine(); QStringList userpwd = onecount.split(':'); qDebug() << userpwd.at(0) << "--" << userpwd.at(1); } file.close();
3.通过单个json对象形式写入
//头文件#include<QJsonArray>#include<QJsonObject>#include<QJsonDocument>#include<QByteArray>#include<QDebug>#include<QJsonParseError>//写入 QFile file("./test.txt"); file.open( QIODevice::ReadWrite | QIODevice::Append); QTextStream out(&file); if(!ui->lineEdit->text().isEmpty() && !ui->lineEdit_2->text().isEmpty()){ QJsonObject json; json.insert("name",ui->lineEdit->text()); json.insert("pwd",ui->lineEdit_2->text()); QJsonDocument document1; document1.setObject(json); QByteArray byteArray = document1.toJson(QJsonDocument::Compact); QString strJson(byteArray); out << strJson; out << "\n"; } file.close();//读取 QFile file("./test.txt"); if(!file.open(QIODevice::ReadOnly)) { return; } QTextStream in(&file); while(!in.atEnd()){ QString onecount = in.readLine(); QByteArray byteArray = onecount.toLocal8Bit(); QJsonParseError jsonError; QJsonDocument doucment = QJsonDocument::fromJson(byteArray,&jsonError); if (!doucment.isNull() && (jsonError.error == QJsonParseError::NoError)){ if (doucment.isObject()) { QJsonObject object = doucment.object(); if (object.contains("name")) { QJsonValue value = object.value("name"); if (value.isString()){ QString strName = value.toString(); qDebug() << strName; } } if (object.contains("pwd")) { QJsonValue value = object.value("pwd"); if (value.isString()){ QString strName = value.toString(); qDebug() << strName; } } } } } file.close();
4.写入json数组
//写入 QJsonObject json; json.insert("name","aaa"); json.insert("pwd","123"); QJsonObject json1; json1.insert("name","bbb"); json1.insert("pwd","111"); QJsonArray arr; arr.append(json); arr.append(json1); QJsonDocument document1; document1.setArray(arr); QByteArray byteArray = document1.toJson(QJsonDocument::Compact); QString strJson(byteArray);//读取 QJsonParseError jsonError; QJsonDocument doucment = QJsonDocument::fromJson(byteArray,&jsonError); if (!doucment.isNull() && (jsonError.error == QJsonParseError::NoError)){ if(doucment.isArray()){ QJsonArray temp = doucment.array(); for(int i=0; i<temp.count(); i++){ QJsonValue tempvalue = temp.at(i); if(tempvalue.isObject()){ QJsonObject object = tempvalue.toObject(); if (object.contains("name")) { QJsonValue value = object.value("name"); if (value.isString()){ QString strName = value.toString(); qDebug() << strName; } } } } } }
5.从文件中读取内容
QFile file("./textFile.txt"); if(file.open(QIODevice::ReadOnly)) { char buffer[2048]; //读取所有内容 //QByteArray bytearr = file.readAll(); // qDebug()<< "all" << bytearr; //逐行读取内容 while(!file.atEnd()){ qint64 lineLen = file.readLine(buffer,sizeof(buffer)); qDebug()<< "b1" <<lineLen; if(lineLen!=-1) { qDebug()<< "b1" <<buffer; } } } file.close();
6.ini文件写入读取
#include <QSettings>QSettings *config = new QSettings("./test.ini", QSettings::IniFormat);void writeToFile(const QString groupName,const QString key,const QString value){ config->beginGroup(groupName); config->setValue(key,value); config->endGroup();}QString readFromFile(const QString groupName,const QString key){ QString filePath = groupName + "/" + key; QString objectString = config->value(filePath).toString(); return objectString;}//写入config->writeToFile("ip","ip","192.168.1.1");config->writeToFile("next","nexus5","1999");//读取QString temp = config->readFromFile("ip","ip");
文件内容:
阅读全文
0 0
- Qt中文件写入和读取
- Python中文件的读取和写入
- C/C++中文件的读取和写入
- C语言中文件的读取和写入
- C语言中文件的读取和写入
- C语言中文件的读取和写入
- kaldi中文件的写入及读取
- QT 读取和写入注册表
- C++ 下文件的读取和写入
- Android中文件简单存储(写入 读取)
- Python中文件的写入读取以及附加文字
- Qt打开读取和保存写入文件
- ASP.NET中文件流的使用——下载Excle文件、文件的读取和写入
- Qt中文件读取的几种方式
- 利用io流进行文件读取和写入
- pymssql 中文写入读取
- pymssql 中文写入读取
- Android中文件写入写出
- java数组查询
- python用不同颜色打印
- 在Python编程语言中使用os.path.isdir()函数操作介绍
- c语言基础
- 串口发送一帧数据时,两个字节的间隔时间是多少?
- Qt中文件写入和读取
- CSS3实现简单特效实例(1)
- 利用 Map 集合的 containsKey 方法,实现对象数组的去重以及重复对象的字段值累加
- weblogic10.3配置自定义的DB2驱动
- 安卓逆向之华山杯ctf第二题:寻找密码
- js之BOM
- Python os.path.join 双斜杠的解决方法
- 48.防火墙
- 【解惑】领略Java内部类的“内部”