Qt中IO操作的处理方式

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

-Qt中的文件被看做一种特殊的外部设备

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

IO操作中的关键函数接口

-打开设备:bool open(OpenMode mode)

-读取数据:QByteArray read(qint64 maxSize)

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

-关闭设备:void close()

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

Qt中IO设备的类型

-顺序存取设备

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

-随机存取设备

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

Qt中IO设备的继承层次图

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

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

QFile file("C:/test.txt");if(file.open(QIODevice::WriteOnly | QIIODevice::Text))
{file.write("some");file.close();
}if(file.open(QIODevice::ReadOnly | QIODevice::Text))
{QByteArray ba = file.readAll();QString str(ba);qDebug() << str;file.close();
}

QFileInfo类:读取文件属性信息

QFile file("C:/test.txt");
QFileInfo info(file);qDebug() << info.exists();
qDebug() << info.isFile();
qDebug() << info.isReaddable();
qDebug() << info.isWritable();
qDebug() << info.created();
qDebug() << info.lastRead();
qDebug() << info.lastModified();
qDebug() << info.path();
qDebug() << info.fileName();
qDebug() << info.suffix();
qDebug() << info.size();

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

-安全地创建一个全局唯一的临时文件

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

-历史文件的打开方式为QIODevice::ReadWrite

-临时文件常用于大数据传递或者进程间通信的场合

QTemporaryFile tempFile;if( tempFile.open() )
{tempFile.write("some");tempFile.close();
}QFileInfo info(tempFile);
qDebug() << info.isFile();
qDebug() << info.path();
qDebug() << info.fileName();

总结:

·Qt通过统一的方式读写文件和外部设备

·Qt中IO设备的类型分为顺序存取和随机存取两种

·QFile提供了文件操作相关的方法

·QFileInfo提供了读取文件属性相关的方法

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

Qt 笔记:Qt中的IO操作相关推荐

  1. .NET中的IO操作基础介绍

    关于IO简介 .NET中的IO操作,经常需要调用一下几个类. 1.FileStream类        文件流类,负责大文件的拷贝,读写. 2.Path类                   Path ...

  2. java中的IO操作总结

    java中的IO操作 在java中IO涉及的范围比较大,本文主要针对文件内容的读写 对于文件内容的操作主要分为两大类: 字符流:有两个抽象类 writer Reader 其对应子类FileWriter ...

  3. java中的IO操作总结(一)

    转载:http://www.cnblogs.com/nerxious/archive/2012/12/15/2818848.html    所谓IO,也就是Input与Output的缩写.在java中 ...

  4. java中的IO操作之File类

    Java的集合框架:  类和接口存在于java.util包中. Java的IO:               类和接口存在于java.io包中. 学习方法:  文档在手,天下我有! --------- ...

  5. Qt笔记-Q3DScatter中元素的移动和旋转

    程序运行截图如下: 这里的主要框架为Q3DScatter 首先是设置范围,免得随机生成坐标时,坐标系不停的变: 使用QScatter3DSeries生成一串的item.方便显示在m_graph中 使用 ...

  6. Qt笔记-profile中基本配置(获取环境变量、设置生成路径、包含文件)

    配置好环境变量后通过在profile文件中通过$$(xxx)进行获取. 通过DESTDIR配置生成目标文件的路径. 使用INCLUDEPATH包含文件.如下: QT += guiINCLUDEPATH ...

  7. Qt笔记-Qt中Json存二进制文件并读取文件(QJsonObject、QJsonArray、QJsonDocument的使用)

    程序运行截图如下: 文件如下: 源码如下: #include <QCoreApplication> #include <QJsonDocument> #include < ...

  8. QT笔记——QT支持Https

    我们想要实现支持https的请求,在一开始,不做任何操作下,是不支持https的请求的 我的环境:vs2019 + qt 5.12.2 其他版本可能不清楚 什么是https:是由SSL + HTTP协 ...

  9. Qt笔记-Qt获取百度下拉推荐词

    目录 基本概念 代码与实例 基本概念 这里就是百度搜索的这个功能 在Web应用中,这种主要是通过jsonp原理实现的,但在桌面应用程序就更简单了,只要发送get请求,不填写回调函数,即可在http封包 ...

最新文章

  1. DNS RR字段含义
  2. 使用rabbitMQ实现数据同步
  3. JAVA_HOME系统环境变量
  4. php mk的支持扩展,Linux部署Redis及PHP-redis扩展
  5. [Ubuntu] apt 添加第三方库
  6. 一站式学习Wireshark(三):应用Wireshark IO图形工具分析数据流
  7. 为Google Reader守夜。。。
  8. 马尔科夫决策过程(MDP) : BlackJack问题(MC-ES)
  9. CentOS 7 配置 VNC 远程桌面连接
  10. python提取一句话中的数字_从Python的字符串列表中提取数字
  11. onlyoffice 回调传参数_onlyoffice服务在线编辑文档保存解析
  12. 《每日论文》Problem Solving with Algorithms and Data Structures using Python.(第一章)
  13. C1041: 无法打开程序数据库“xxx.pdb”;如果要将多个 CL.EXE 写入同一个 .PDB 文件,请使用 /FS
  14. HDMI接口的HPD问题
  15. MySQL函数计算24小时平均浓度对应的IAQI和AQI
  16. libuv 的Processes
  17. python结巴分词实例_python 结巴分词(jieba)详解
  18. 车载FAKRA和HSD连接器
  19. 凌晨4点的中国人都在干什么?这份数据可视化地图给你答案
  20. visio跨职能流程图带区背景及大小及改变格式 (转)

热门文章

  1. iOS扫码一图多码原生处理AVCaptureSession
  2. 七、熵编码算法(1):基础知识
  3. OSChina 周六乱弹 ——程序员还是大学生的时候 带啥去上学
  4. 2023年中国搜索引擎行业研究报告
  5. 圣诞树 圣诞树 圣诞树_圣诞购物
  6. Python实现PSO粒子群优化支持向量机回归模型(svr算法)项目实战
  7. 根据环信3.0集成的视频通话
  8. redis 哨兵机制环境搭建 - 七脉 - 博客园
  9. Integer.valueof()与Integer.parseInt()与intValue()的辨别
  10. numpy完整打印数组