zoukankan      html  css  js  c++  java
  • 第三十二课、Qt中的文件操作------------------狄泰软件学院

    一、Qt中的IO操作

    1、Qt中IO操作的处理方式

    (1)、Qt通过统一的接口简化了文件与外部设备的操作方式

    (2)、Qt中的文件被看做是一种特殊的外部设备

    (3)、Qt中的文件操作与外部设备操作相同

    2、IO操作中的关键函数接口

    注意:IO操作的本质:连续存储空间的数据读写

    3、Qt中IO设备类型

    (1)、顺序存储设备:只能从头开始顺序读写数据,不能指定数据的读写位置(串口)

    (2)、随机存储设备:可以定位到任意位置进行数据读写(seek function函数)(文件)

    4、Qt中IO设备 的继承层次图

    二、Qt中的文件操作

    1、QFile是Qt中用于文件操作的类

    2、QFile对象对应到计算机上的一个文件

    3、QFineInfo类用于读取文件属性信息

    #include <QtCore/QCoreApplication>
    #include <QFile>
    #include <QString>
    #include <QDebug>
    #include <QFileInfo>
    #include <QDateTime>
    
    void write(QString f)
    {
        QFile file(f);
    
        if(file.open(QIODevice::ReadWrite | QIODevice::Text))
        {
            file.write("ABCDEFG
    ");//有就打开,没有就创建,并且写的时候覆盖里面的内容
            file.write("ABCDEFG");
            file.close();
        }
    }
    
    void read(QString f)
    {
        QFile file(f);
        if(file.open(QIODevice::ReadWrite | QIODevice::Text))
        {
            QByteArray ba = file.readLine();
            QString s(ba);
            qDebug() << s;
    
            file.close();
        }
    }
    void info(QString f)
    {
        QFile file(f);
        QFileInfo info(file);
        qDebug() << info.exists();
        qDebug() << info.isFile();
        qDebug() << info.isReadable();
        qDebug() << info.isWritable();
        qDebug() << info.created();
        qDebug() << info.lastRead();
        qDebug() << info.lastModified();//最后修改时间
        qDebug() << info.path();
        qDebug() << info.fileName();
        qDebug() << info.suffix();//后缀
        qDebug() << info.size();
    
    }
    
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
        
    
        write("F:/Qt/lesson32/text.txt");
        read("F:/Qt/lesson32/text.txt");
        info("F:/Qt/lesson32/text.txt");
    
        return a.exec();
    }
    main.cpp

    4、Qt中提供了临时文件操作类QTemPoraryFile

    (1)、安全创建全局唯一的临时文件

    (2)、当对象销毁时对应的临时文件销毁

    (3)、临时文件的打开方式为QIODevice::ReadWrite

    (4)、临时文件用于大数据传递或者进程间通信的场合

    #include <QtCore/QCoreApplication>
    #include <QTemporaryFile>
    #include <QFileInfo>
    #include <QDebug>
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
        QTemporaryFile tempFile;
    
        if( tempFile.open() )//默认可读可写
        {
            tempFile.write("D.T.Software");
            tempFile.close();
        }
    
        QFileInfo info(tempFile);
    
        qDebug() << info.isFile();
        qDebug() << info.path();
        qDebug() << info.fileName();
    
        return a.exec();
    }
    QTemporaryFile.cpp

    三、小结

    (1)、Qt通过统一的方式读写文件和统一的设备

    (2)、Qt中IO设备的类型分为顺序存储随机存储两种

    (3)、QFile提供了文件操作的相关方法

    (4)、QFileInfo提供了读取文件属性的相关方法

    (5)、Qt中提供了临时文件操作类QTemPoraryFile

  • 相关阅读:
    TO DO List
    springboot 热部署
    <dependencyManagement>的作用
    人体工程学座椅
    temp
    temp
    声明式编程和命令式编程的本质区别
    weak first question
    Spring依赖注入方式和依赖来源
    SpringBoot 整合 H2 数据库
  • 原文地址:https://www.cnblogs.com/gui-lin/p/6410346.html
Copyright © 2011-2022 走看看