qt中的IO操作

在Qt里文件被看成一种特殊的外部设备。与外部设备的操作方式相同。qt通过统一的借口来操作文件及外部设备。

操作方式:

(1).打开设备:open();

(2).读取数据:  read()

(3).写入数据:  write()

(4).关闭设备:  close()

qt中IO设备的类型:

顺序存储设备:只能从头到尾开始读取数据,不能指定读写数据的位置

随机存储设备:可以定位到任意位置进行数据的读写

扫描二维码关注公众号,回复: 4604575 查看本文章

QtIO设备类继承图;

详细代码实例:

#include <QCoreApplication>

#include <QFile>

#include <QByteArray>

#include <QDebug>

#include <QFileInfo>  //文件信息类

#include <QTemporaryFile>  

#include <QDateTime>

void write(QString s)  //文件写入

{

    QFile file(s);

    if(file.open(QFile::WriteOnly | QIODevice::Text))

    {

        file.write("BadogYang student\n");

        file.write("D.T Software\n");

        file .close();

    }

}

void read(QString s)  //文件读取

{

    QFile file(s);  //创建文件

    if(file.open(QFile::ReadOnly | QIODevice::Text))  //打开文件

    {

        QByteArray ba = file.readLine();     //读取文件

        QString s(ba);

        qDebug() << s;

        file.close();

    }

}

void fileInfo(QString s) //打印文件信息

{

    QFile file(s);

    QFileInfo info(file);

    qDebug() << info.fileName();

    qDebug() << info.path();

    qDebug() << info.isReadable();

    qDebug() << info.isWritable();

    file.close();

}

int main(int argc, char *argv[])

{

    QCoreApplication a(argc, argv);

    //write("H:/test.txt");

    //read("H:/test.txt");

    //fileInfo("H:/test.txt");

    QTemporaryFile file;   //创建临时文件对象

    if(file.open())

    {

        file.write("badogyang\n");

        file.close();

    }

    QFileInfo info(file);

    qDebug() << info.fileName();

    qDebug() << info.filePath();

    qDebug() << info.created();

    file.close();   //关闭文件

    return a.exec();

}

Qt中的临时文件类QTemporaryFile用于创建全局唯一的临时文件,当对象销毁时文件也会销毁,打开方式为读写(QIOdevice::ReadWrite),常用于大数据传递与进程间的通信。

//文章参考狄泰软件学院Qt视频教程

猜你喜欢

转载自blog.csdn.net/qq_37182906/article/details/84933661
今日推荐