Qt读取文件内容,QFile、QTextStream 和 QDataStream

1、QFile

       打开style.qss 样式文件。设置样式表

QFile qss(":/style.qss");
if(qss.open(QFile::ReadOnly))
{
    qApp->setStyleSheet(qss.readAll());
    qss.close();
}

除了readAll()读取全部,还有readLine()接口读取一行。

2、QTextStream 和 QDataStream

        在Qt中,QTextStream和QDataStream都是用于读写数据的类,但它们的使用场景和读写的数据类型不同。

        QTextStream是用于读写文本数据的类,可以将QString、QByteArray等文本数据以类似于流的方式读写到文件、套接字等设备中。QTextStream提供了一系列方便的方法,如readLine()、readAll()、operator<<()、operator>>()等,可以方便地读写文本文件和套接字等设备。

        QDataStream是用于读写二进制数据的类,可以将各种类型的二进制数据(如int、float、double、QString等)以二进制方式读写到文件、套接字等设备中。QDataStream通过内部的序列化机制实现了数据的高效读写,可以保证在不同平台上的数据兼容性。QDataStream提供了一系列方便的方法,如writeRawData()、writeInt()、readRawData()、readInt()等,可以方便地读写二进制文件和套接字等设备。

         因此,QTextStream和QDataStream的主要区别在于它们所处理的数据类型不同,QTextStream主要处理文本数据,而QDataStream主要处理二进制数据。在使用时,需要根据实际情况选择合适的类进行读写操作。

        

QFile file("example.txt");
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
    QTextStream in(&file);
    in.setCodec("UTF-8");
    QString line = in.readLine();
    qDebug() << line;
}
QFile file("data.dat");
if (file.open(QIODevice::WriteOnly)) {
    QDataStream out(&file);
    out << (qint32)123 << QString("Hello, world!");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值