一、文件读取
调用getOpenFileName可打开文件路径。
QByteArray read_txt_data;
QString read_data_string;
QStringList read_data_stringlist;
QByteArray read_data;
QString filename = QFileDialog::getOpenFileName(this,
tr("打开文件"),
"C:/Users/82420/Desktop/",//打开文件的默认路径
tr("*ini;*INI;*dat;*txt")//打开文件的类型
);
if (filename.length() <= 0) {
return;
}
QFile file(filename);
if (file.open(QIODevice::ReadOnly)) {
read_txt_data = file.readAll();
read_data_string.append(read_txt_data);//转string
file.close();
}
read_data_stringlist = read_data_string.split(" ");//拆分数据
for (quint16 i=0; i<read_data_stringlist.length(); i++) {
read_data[i] = read_data_stringlist.at(i).toInt(&ok, 16);//转换成16进制
}
read_txt_data.clear();
read_data_string.clear();
read_data_stringlist.clear();
二、文件写入
QString stringdata;//待写入的数据
QString save_fileName= ui->lineEdit_save_file_name->text();//保存的文件名
QFile filedata(save_fileName);
filedata.open(QIODevice::ReadWrite|QIODevice::Text|QIODevice::Append);
filedata.write(stringdata.toLocal8Bit());
filedata.close();
三、文件清空数据
清空文件filedata可执行以下操作:
filedata.open(QIODevice::WriteOnly|QIODevice::Truncate);
filedata.close();
四、文件操作相关函数
1.getSaveFileName()
获取文件保存文件名,用法如下:
QString fileName = QFileDialog::getSaveFileName(this,"保存文件","");//第三个参数为默认打开路径
if (filename.lenth() <= 0) {
return;
}
QFile file(fileName);
if (!file.open(QIODevice::WriteOnly|QIODevice::Truncate))
{
QMessageBox::critical(this, "critical", tr("文件保存失败!"),
QMessageBox::Yes);
}
else
{
QString arr = "test";
file.write(arr.toUtf8());
file.close();
}
2.getExistingDirectory()
获取文件路径,用法如下:
QString filePath = QFileDialog::getExistingDirectory(this,"保存文件","");
if (filePath.lenth() <= 0) {
return;
}