先贴为敬
读取文件
QTextCodec *codec = QTextCodec::codecForName("utf-8");//设置文件编码格式
QFile file("1.txt");//此项目的地址搜索的文件
if(!file.open(QIODevice::ReadOnly|QIODevice::Text))//判断
return;
while(!file.atEnd())
{
//读取一行文本数据
QByteArray line = file.readAll();//读取
//将读取到的行数据转换为Unicode
QString str =codec->toUnicode(line);//转码
//将得到的字符设置到编辑框中显示
ui->plainTextEdit->setPlainText(str);//显示
}
写入文件
QFile file("1.txt");
if(!file.open(QIODevice::WriteOnly|QIODevice::Text))//判断文件知否正常
{
QMessageBox::warning(this,QStringLiteral("警告"),
file.errorString());
return;
}
QTextStream out(&file);//获取转码文件
out.setCodec("utf-8");//转码
QString str("物品名称");//内容
out<<str;//写入
file.close();保存
关于文件读取,乱码的原因是因为读写的编码格式要统一
分为 文件地址,获取文件,转码,写入,或者读取