• Qt5:Qt文件操作类 QFile


    在QT中,操作文件一般不使用C++提供的文件操作类 , 因为操作文件的时候,要用到C++提供的 string 类,而在QT中使用的是Qt自己实现的一个string类

    QString 。在Qt中使用C++的string类的时候,很多时候都要在 QString 和 string 之间进行转换,这样是很不方便的,所以在Qt程序中,一般推荐操作文件的

    方法是使用Qt自己实现的文件操作类 QFile 。

    现在暂且先看看QFile读写文件时用到的基本函数,其他的关于创建link和设置权限等函数先撇一边

    QFile的基本构造函数:

      QFile(const QString & name)

      QFile(QObject * parent)

      QFile(const QString & name, QObject * parent)

    QFile的读写:

      读写的时候,该类可以使用从祖先继承的函数 read()  write()  readAll()等等函数

      但是通常情况下, 使用下面这两个类进行读写操作

        QTextStream  //用于文本文件的读写操作,操作中文的时候就使用这个

        QDataStream //用于二进制文件的IO操作

      关于这两个文件的用法,可以查看帮助文档

    下面这些函数的功能都显而易见

      bool copy(const QString & newName)
      bool exists() const
      bool remove()
      bool rename(const QString & newName)

    对于下面这两个函数
      bool open(FILE * fh, OpenMode mode, FileHandleFlags handleFlags = DontCloseHandle)
      bool open(int fd, OpenMode mode, FileHandleFlags handleFlags = DontCloseHandle)

    俩函数都是用于重新以新的标志重新打开一个已存在的文件

    //这个函数的功能是用于重新设置要打开的文件
      void setFileName(const QString & name)

    在使用这个文件的时候,要确保没有打开的文件已经被关闭,否则,会造成泄露

    还有如下等函数,功能不意义解释,同样通过命名可以看出功能

      virtual bool open(OpenMode mode)
      virtual Permissions permissions() const
      virtual bool resize(qint64 sz)
      virtual bool setPermissions(Permissions permissions)
      virtual qint64 size() const

    static functions

      bool copy(const QString & fileName, const QString & newName)
      QString decodeName(const QByteArray & localFileName)
      QString decodeName(const char * localFileName)
      QByteArray encodeName(const QString & fileName)
      bool exists(const QString & fileName)
      bool link(const QString & fileName, const QString & linkName)
      Permissions permissions(const QString & fileName)
      bool remove(const QString & fileName)
      bool rename(const QString & oldName, const QString & newName)
      bool resize(const QString & fileName, qint64 sz)
      bool setPermissions(const QString & fileName, Permissions permissions)
      QString symLinkTarget(const QString & fileName)
      

      

  • 相关阅读:
    易普优高级计划排程Light版助力中小企业实现精益化计划
    06易普优APS行业方案:包装印刷行业高级计划排程
    APS高级计划排程系统应该支持的企业应用场景
    易普优APS应用案例:线束行业生产计划排产
    某PCBA企业应用易普优APS实现高级计划排程案例
    APS高级计划排程系统应该支持的企业应用场景
    oracle 字符串分割
    速度极快的导出excel
    dev winform导出功能
    sql with as union all
  • 原文地址:https://www.cnblogs.com/wowk/p/3162292.html
Copyright © 2020-2023  润新知