zoukankan      html  css  js  c++  java
  • Qt文件操作

    Qt中IO操作的处理方式:

      ——Qt通过统一的接口简化了 文件外部设备 的操作方式

      ——Qt中的文件可以看成 一种特殊的外部设备

      ——Qt中的文件操作 与外部设备操作相同

    IO操作中接口函数:

      ——bool open(OpenMode mode)                 打开设备

      ——QByteArrary read(qint64 maxSize)        读取数据

      ——qint64 write(const QByteArray& byteArray)   写入数据

      ——void close()   关闭设备

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

    Qt中IO设备的类型:

     顺序存取设备

      只能从头开始顺序的读写数据,不能指定数据的读写位置。

     随机存取设备

      可以定位到任意位置进行数据读写(seek function)

    文件操作实验:

      代码:

      

    #include <QtCore/QCoreApplication>
    #include <QFile>
    #include <QDebug>
    #include <QFileInfo>
    #include <QTime>
    #include <QByteArray>
    void fileWrite(QString f)
    {
        QFile file(f);
        if(file.open(QIODevice::WriteOnly | QIODevice::Text))//以只写方式打开Text文件
        {
            file.write("this is test String");//写入测试字符
            file.close();
        }
    }
    
    void fileInfo(QString f)
    {
        QFileInfo file(f);
        qDebug()<<file.exists();//文件是否存在
        qDebug()<<file.isFile();//是否为文件
        qDebug()<<file.isReadable();//是否可读
        qDebug()<<file.isWritable();// 是否可写
        qDebug()<<file.created();//创建时间
        qDebug()<<file.lastRead();//上一次查看
        qDebug()<<file.lastModified();//最后一次修改时间
        qDebug()<<file.fileName();//文件名
        qDebug()<<file.suffix();//文件后缀
        qDebug()<<file.size();//文件大小
    }
    void fileRead(QString f)
    {
        QFile file(f);
        if(file.open(QIODevice::ReadOnly | QIODevice::Text))//以只读方式打开Text文件
        {
            //QByteArray array=  file.readAll();//读出所有
            QByteArray array=  file.read(4);//读取前4个byte
            QString s(array);//转换为Strin类型
            qDebug()<<s;//输出字符串
            file.close();
        }
    }
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
       // fileWrite("I:/qt/Qt project/FileTest/Test.txt");
        //fileInfo("I:/qt/Qt project/FileTest/Test.txt");
        fileRead("I:/qt/Qt project/FileTest/Test.txt");
        return a.exec();
    }

      运行结果:

    临时文实验:

      Qt中提供了临时文件操作类QTemporaryFile

      ——安全的创建了一个全局唯一的临时文件

      ——当对象销毁时对应的临时文件将被删除

      ——打开方式QIODevice::ReadWrite

      ——临时文件常用作大数据传递或者进程之间的通讯

      代码:

      

    void temporaryFile()
    {
        QTemporaryFile file;
        if(file.open())
        {
            file.write("this is Temporary File Test ");
            file.close();
        }
        if(file.open())
        {
           QByteArray array= file.readAll();
           QString s(array);//转换为Strin类型
           qDebug()<<s;//输出字符串
        }
        QFileInfo info(file);
        qDebug()<<info.isFile();
        qDebug()<<info.path();
        qDebug()<<info.fileName();
    }

      运行结果

     

  • 相关阅读:
    acm课程练习2--1002
    acm课程练习2--1001
    SDAU课程练习--problemQ(1016)
    SDAU课程练习--problemG(1006)
    SDAU课程练习--problemO(1014)
    SDAU课程练习--problemB(1001)
    SDAU课程练习--problemA(1000)
    SDAU课程练习--problemC
    SDAU课程练习--problemE
    不安全函数(转)
  • 原文地址:https://www.cnblogs.com/hjxzjp/p/12336472.html
Copyright © 2011-2022 走看看