在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. <context:component-scan>

    首先看配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http ...

  2. ieee80211_rx

    ieee80211rx.c(E:\code\linux\net\ieee80211) 所有接收到的帧都送到这个函数中去 int ieee80211_rx(struct ieee80211_device ...

  3. Entity Framework技巧系列之五 - Tip 16 – 19

    提示16. 当前如何模拟.NET 4.0的ObjectSet<T> 背景: 当前要成为一名EF的高级用户,你确实需要熟悉EntitySet.例如,你需要理解EntitySet以便使用 At ...

  4. 第3章 Java语言基础----static

    1.static只能声明成员变量,不能声明局部变量,如下图所示: 2.如果变量在类中用static中定义过,那么在方法中就可以直接赋值了:如果没有在类中定义,则不能在方法中使用,还得重新定义,如下图所 ...

  5. 去掉uitableveiw多余的分割线

    UIView *v = [[UIView alloc] initWithFrame:CGRectZero]; [_tableView setTableFooterView:v];

  6. [科普]DNS相关的攻击介绍

    一  什么是DNS DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不 ...

  7. hadoop运行作业的脚本解析

    #!/usr/bin/env bash # Licensed to the Apache Software Foundation (ASF) under one or more # contribut ...

  8. linux的学习系列 8---进程管理

    当我们运行程序时,Linux会为程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰.这个特殊的环境就称为进程. 每个 Linux 命令都与系统中的程序 ...

  9. UIImageView 浅析

    UIImageView summary UIImageView极其常用,功能比较专一:显示图片 pooperty @property(nonatomic,retain) UIImage *image; ...

  10. CDockablePane使用总结

    基于 http://blog.csdn.net/kikaylee/article/details/8936953 CDockablePane的基本布局和用法 新建一个SDI工程,在CMainFrame ...