您的位置:首页 > 编程语言 > Qt开发

Qt中如何对文件进行读写

2014-06-20 23:57 393 查看
1 widget.h添加头文件
#include <QWidget>
#include <QFile>
#include <QString>
#include <QtCore>
#include <QDebug>
#include <QtGui>
#include <QTextStream>
2 声明 Write 和 Read 函数
void Write(QString filename);
void Read(QString filename);
3 widget.cpp文件里实现函数
void Widget::Write(QString filename){QFile mFile(filename); if(!mFile.open(QFile::WriteOnly|QFile::Text)){ qDebug()<<"cannot open file for write"; return;} QTextStream out(&mFile); out<<"hello qt";
mFile.flush();mFile.close();}void Widget::Read(QString filename){QFile mFile(filename);    if(!mFile.open(QFile::ReadOnly|QFile::Text)){        qDebug()<<"cannot open file for read";        return;}    QTextStream in(&mFile);    QString mText=in.readAll();    qDebug()<<mText;mFile.flush();mFile.close();}
4 在widget的构造函数里调用函数
QString filename="./test.ini";
Write(filename);  //不存在时,会自动创建并覆盖同名旧文件
Read(filename);  //文件需存在
5 文件的删除
QString fileRecord = "/test.ini";
QFile file;
file.remove(fileRecord);
6 通过lineEdit写入文件,
QString text= ui->lineEdit->text();
QString filename="./test.ini";
QFile mFile(filename);
if(mFile.open(QIODevice::Append))     //方式为追加
{
QTextStream out(&mFile);
out<<text;
out<<"\r\n";  // window换行   Linux下位"\n"
}
mFile.flush();
mFile.close();
7 读取时,不包括"\n"
QStringList lines;
QFile file( filename );
if ( file.open(QFile::Append))
{
QTextStream stream( &file );
QString line;
while ( !stream.atEnd() )
{
line = stream.readLine(); // 不包括“\n”的一行文本
ui->textEdit->setText(line);
lines += line;
}
file.flush();
file.close();
}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: