Qt6的QTextStream 文件流

84 阅读1分钟

读取文件 Read


void Widget::readFile() {
    try {
        QFile file;
        // 1.2 打开文件
        file.setFileName("D:/test.txt");
        if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
            qDebug() << "file open error";
            return;
        }
        QTextStream ts(&file);
        ts.setEncoding(QStringConverter::Utf8);

        // QString context = ts.read(file.size());
        // qDebug() << "文件打开了内容是:  " << context;
        while(!ts.atEnd()) {
            QString context = ts.readLine();
            qDebug() << context;
            qDebug() << "------------";
        }
        file.close();

    } catch (std::exception e) {
        qDebug() << "捕获到异常:  " << e.what();
    } catch(...) {
        qDebug() << "未知异常!!";
    }
}

写入文件 Write


void Widget::writeFile() {
    try {
        QFile file;
        // 1.2 打开文件
        file.setFileName("D:/test3.txt");
        if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
            qDebug() << "file open error";
            return;
        }
        // 流和文件关联
        QTextStream out(&file);
        // 设置字符
        out.setEncoding(QStringConverter::Utf8);
        // 写入文件
        out << "This Write File QTextStream!!";
        file.close();
    } catch (...) {
    }
}