将textEdit中的内容逐行写入文件:
利用字符串存取为一行,每隔两个字符添加空格:out << ui->textEdit->toPlainText();
/// 读取数据 QString input_data = ui->textEdit->toPlainText();//获取多行内容 ///插入空格 QString output_data = ""; int length = input_data.length(); for (int i = 0; i < length; i += 2) { output_data += input_data.mid(i, 2); if (i%2 == 0) output_data += " "; } ui->textEdit_2->setPlainText(output_data);写入文件:
#include <QtCore/QCoreApplication> #include <QFile> #include <QtDebug> #include <QTextStream> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QFile file("test.txt"); //---参数:QFile::Truncate表示的是 将原文件内容清空, //--以WriteOnly方式打开文件,如果在工程文件下没有该txt文件,那么程序将创建该文件,若存在,则将原文件内容清空, if (file.open(QFile::WriteOnly | QFile :: Truncate)) { //---创建 QTextStream流操作对象, 使与QFile对象file绑定。 QTextStream out(&file); //----设置输出格式为: 居中,这里格式还可以设置为:right/left。 占10个字符; out << "socre:" << qSetFieldWidth(10) << center << 90 << endl; } else { qDebug() << "open file failed"; } file.close(); //---关闭文件~~~~~~ //-----输出提示信息 qDebug() << "\1 writing data succesful \1" << endl; return a.exec(); }读取文件:
1,
QString displayString; QFile file("/home/alvin/text.txt"); if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) { qDebug()<<"Can't open the file!"<<endl; } while(!file.atEnd()) { QByteArray line = file.readLine(); QString str(line); qDebug()<< str; displayString.append(str); } ui->textEdit->clear(); ui->textEdit->setPlainText(displayString);2,
QString displayString; QFile file("/home/alvin/text.txt"); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) return; QTextStream in(&file); QString line = in.readLine(); while (!line.isNull()) { //process_line(line); line = in.readLine(); displayString.append(line); } ui->textEdit->clear(); ui->textEdit->setPlainText(displayString);3,
QString displayString; QFile file("/home/alvin/text.txt"); if(!file.open(QIODevice::ReadWrite | QIODevice::Text)) { qDebug()<<"Can't open the file!"<<endl; } QTextStream stream(&file); QString line_in; stream.seek(file.size());//将当前读取文件指针移动到文件末尾 int count = 0; while(count < 10) { stream << QObject::trUtf8("新建行:") <<++count<<"/n"; } stream.seek(0);//将当前读取文件指针移动到文件开始 while( !stream.atEnd()) { line_in = stream.readLine(); displayString.append(line_in); qDebug() << line_in; } ui->textEdit->clear(); ui->textEdit->setPlainText(displayString);4,
#include <QDebug> #include <QFile> void ReadLine() { QFile file("要读的文件路径"); if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { while (!file.atEnd()) { QByteArray line = file.readLine(); QString str(line); qDebug() << str; displayString << str; } file.close(); } } void WriteLine() { QFile file("要写的文件路径"); if (file.open(QIODevice::ReadWrite | QIODevice::Text)) { QTextStream stream(&file); stream.seek(file.size()); for (auto& i : displayString) { QString qs; qs.append("Content:"); qs.append(i); qs.remove("\n"); stream << qs << "\n"; } file.close(); } }