在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)
  

  

Qt5:Qt文件操作类 QFile的更多相关文章

  1. [C#] 常用工具类——文件操作类

    /// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ...

  2. 文件操作类CFile

    CFile file; CString str1= L"写入文件成功!"; wchar_t *str2; if (!file.Open(L"Hello.txt" ...

  3. asp.net文件操作类

    /** 文件操作类 **/ #region 引用命名空间 using System; using System.Collections.Generic; using System.Text; usin ...

  4. android 文件操作类简易总结

    android 文件操作类(参考链接) http://www.cnblogs.com/menlsh/archive/2013/04/02/2997084.html package com.androi ...

  5. Ini文件操作类

    /// <summary> /// Ini文件操作类 /// </summary> public class Ini { // 声明INI文件的写操作函数 WritePriva ...

  6. java csv 文件 操作类

    一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...

  7. C# 文件操作类大全

      C# 文件操作类大全 时间:2015-01-31 16:04:20      阅读:1724      评论:0      收藏:0      [点我收藏+] 标签: 1.创建文件夹 //usin ...

  8. Java文件操作类效率对比

    前言 众所周知,Java中有多种针对文件的操作类,以面向字节流和字符流可分为两大类,这里以写入为例: 面向字节流的:FileOutputStream 和 BufferedOutputStream 面向 ...

  9. JAVA文件操作类和文件夹的操作代码示例

    JAVA文件操作类和文件夹的操作代码实例,包括读取文本文件内容, 新建目录,多级目录创建,新建文件,有编码方式的文件创建, 删除文件,删除文件夹,删除指定文件夹下所有文件, 复制单个文件,复制整个文件 ...

随机推荐

  1. selenium C#下的zencart自动化测试(WFloginUrlPayment)环境4.0

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  2. iPhone5s 等 64位真机 运行 带有百度地图等 仅支持32位系统API和SDK的问题

    将下图中画红色框的部分去掉,程序就不再支持64位了.iPhone5s 将使用它的32位兼容模式.(而不再是64位模式)百度地图也不会报错了.

  3. ASP.NET页面生命周期描述

    下面是ASP.NET页面初始的过程:1. Page_Init();2. Load ViewState;3. Load Postback data;4. Page_Load();5. Handle co ...

  4. 初次stack-overflow 提交答案

    初次在stack-overflow上面提交答案,首先编辑器非常好用,语法检查都有, 还有付费版的,更高级,更好用,nice. 付费版:https://www.grammarly.com/upgrade ...

  5. iOS 常用代码块

    1.判断邮箱格式是否正确的代码: // 利用正则表达式验证 -( BOOL )isValidateEmail:( NSString  *)email {   NSString  *emailRegex ...

  6. php实现json

    <?PHP function __json_encode( $data ) { if( is_array($data) || is_object($data) ) { $islist = is_ ...

  7. Android中购物车的全选、反选、问题和计算价格

    此Demo主要解决的是购物车中的全选,反选计算价格和选中的条目个数的问题,当选中几条时,点击反选,会把当先选中的变为不选中,把不选中的变为选中.点击全选会全部选中,再次点击时,变为全部不选中. //- ...

  8. 问题:FF中把UL下的LI设为左浮动UL的背景色就没有了?

    因为容器的子元素设置浮动后, 内容移出了文档流!  解决办法: 1.给个overflow:hidden;作为闭合浮动元素2.设定UL 一个固定的高度 下面是一些与之相关的解决办法,参考文章<那些 ...

  9. 利用apache组件实现文件上传

    实现文件上传需要引入: commons-fileupload-1.3.2.jar commons-io-2.5.jar commons-logging-1.2.jar <!DOCTYPE htm ...

  10. android 垂直 SeekBar 源代码(VerticalSeekBar)[转]

    主要是继承 AbsSeekBar 然后修改下面这些方法 onProgressRefresh() //当进度条数据更新的时候,例如我们拖动滑动条的时候,这个方法被调用 setThumbPos() //这 ...