大家看看这样读写一个文本文件有什么地方不对,总的来说试了几十次都没问题。
但是在读写过程中,有一次发现把一个文本文件变成了二进制乱码文件。
是不是我没有设置编码啊?
QFile file(path);
if(!file.open(QIODevice::ReadOnly))
{
errorReason=QString(tr("Cannot open boot.cfg ReadOnly"));
return false;
}//只读方式打开文件
QString text;
QString str;
QTextStream stream(&file);
while(!stream.atEnd())
{
str=stream.readLine();
if(str.contains(QString("#")))
{
str.remove(QString("#"));
}
text=text+str+QString("\n");
}
//读里面的每一行,然后删除行前面的"#"符号,然后把它们存到text里。
file.close();
if(!file.open(QIODevice::WriteOnly))
{
errorReason=QString(tr("Cannot open boot.cfg WriteOnly"));
return false;
}
file.write(text.toUtf8());//再重新写进去
file.close();