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();
}