本文最后更新于147 天前,其中的信息可能已经过时
打开文本文件
QString curPath = QDir::currentPath(); // 用于获取当前工作目录的路径
QString dlgTitle=QStringLiteral("打开一个文件");//Dialog窗口标题
QString filter=QStringLiteral("程序文件(*.h *.cpp);;文本文件(*.txt);;所有文件(*.*)");
QString aFileName = QFileDialog::getOpenFileName(this,dlgTitle,curPath,filter);//获取文件名称
if(aFileName.isEmpty()){//判断是否为空
return;
}else{
openTextByIODevice(aFileName);
}
判断文件是否存在
QFile file(aFileName);
if(!file.exists()){//文件不存在
return false;
}
读取方式
QFile afile(文件路径);
if(!afile.open(QIODevice::ReadOnly|QIODevice::Text))读写方式打开{
//如果文件没有成功打开
return false;
}
写入方式
QFile afile(文件路径);
if(!afile.open(QIODevice::WriteOnly|QIODevice::Text))读写方式打开{
//如果文件没有成功打开
return false;
}
INI文件读写
QSettings settings("路径", QSettings::IniFormat);//QSettings::IniFormat 以告诉 QSettings 使用 INI 文件格式
// 写入设置 找到会替换key值下内容 没找到会新建key值和内容
settings.setValue("Name", "John Doe");
settings.setValue("Age", 30);
// 读取设置
QString name = settings.value("Name").toString();
int age = settings.value("Age").toInt();
QTextStream文本流方式打开文本文件
QTextStream afile(文件名)
while(!afile.atEnd){//是否是文本文件尾部
str = afile.readLine()//读取每当前行
}
文本文件打开方式 QIODevice::
ReadOnly 只读
WriteOnly 只写
ReadWrite 读写
Append 添加模式 写入数据添加到 文本尾部
Truncate 截取方式打开 文本原有内容被删除
Text 行结束符会被自动转换为当前平台的换行符,而在写入时,换行符会被转换为适合目标平台的格式。