Qt - QFile类(翻译)

QFile 类提供了读取文件的接口。继承于QFileDevice.

QFile 是一种IO设备,用来读写文本和二进制文件和资源。QFile可单独使用,但和QTextStream或QDataStream一起使用更方便。

文件名可以通过构造函数传入,但也可使用setFileName()函数随时传入。QFile使用‘/‘作为分隔符,其他分隔符(如‘\’)不支持。

检查一个文件是否存在使用exists(),移除一个文件使用remove()。更多文件系统相关操作在QFileInfo和QDir中提供。

文件打开使用open(),关闭使用close(),刷新flush()。数据读和写通常用QDataStream或QTextStream,但也可调用从QIODevice继承的函数read(),readLine(),readAll(),write().QFile也继承了getChar(),putChar(),和ungetChar()用于操作字符。

文件大小通过size()返回。当前文件位置pos(),移动到新的文件位置用seek()。如果到达文件结尾,atEnd()返回true。

下面示例按行读取文本文件:

QFile file("in.txt");

      if (!file.open(QIODevice::ReadOnly | QIODevice::Text))

          return;

      while (!file.atEnd()) {

          QByteArray line = file.readLine();

          process_line(line);

      }

open() 传入的QIODevice::Text标志告诉Qt将Windows风格的行终止符("\r\n")转换为C++风格的终止符("\n")。 QFile默认操作二进制文件,如QFile不执行任何转换。

下述示例使用QTextStream按行读取文本文件:

QFile file("in.txt");

      if (!file.open(QIODevice::ReadOnly | QIODevice::Text))

          return;

      QTextStream in(&file);

      while (!in.atEnd()) {

          QString line = in.readLine();

          process_line(line);

      }

QTextStram会将存储在磁盘中8位数据转换为16位的Unicode 字符串。默认地,它认为用户系统本地编码是8位(如,大多数Unix系统的UTF-8),可以通过QTextStream::setCodec()修改。

写文本,可以使用<<()操作符。

时间: 2024-12-22 03:48:40

Qt - QFile类(翻译)的相关文章

Qt官方教程翻译——First Steps with QML

附网址:http://qt-project.org/doc/qt-5/qmlfirststeps.html Creating a QML Document 一个QML文件定义了对象的层次结构:具有高度可读的,结构化的布局.每个QML文件由两部分组成:一个引入(import)部分,以及一个对象声明(declaration)部分.用户界面中最常用的的类型(types)和功能由引入QtQuick提供. Importing and Using the QtQuick Module 为了使用Qt Quic

Qt官方教程翻译——Use Case - Responding To User Input in QML

附网址:http://qt-project.org/doc/qt-5/qtquick-usecase-userinput.html Supported Types of User Input-- 用户输入的支持类型 Qt Quick模块提供了支持常用用户输入的支持类型(types),包括鼠标和触摸事件,文本输入和按键按下事件.其他模块也分别提供了针对其他用户输入的响应类型(例如,Qt Sensors模块提供了对"摇一摇"的支持). 这篇文档介绍了如何处理基本的用户输入:要了解更多关于运

Qt官方教程翻译——Qt QML

Pull 解析器简介 Pull 解析器的运行方式与 SAX 解析器相似.它提供了类似的事件,如: 开始元素和结束元素事件,使用xmlPullParser.next() 可以进入下一个元素并触发相应事件.跟 SAX 不同的 是, Pull 解析器产生的事件是一个数字,而非方法,因此可以使用一个 switch 对事件进行处理.当元素开始解析时,调用 parser.nextText() 方法可以获取下一个 Text 类型节点的值. Pull解析器的源码及文档下载网址:http://www.xmlpul

Qt官方教程翻译——Glossary Of QML Terms

附网址:http://qt-project.org/doc/qt-5/qml-glossary.html Glossary Of QML Terms -- QML各术语词汇表 Common Terms -- 通用术语 术语 定义 QML 编写QML应用程序所使用的语言,由Qt QML组件实现语言架构和引擎. Qt Quick QML语言的标准类型与功能库,由Qt Quick组件提供,并通过"importQtQuick 2.0"来使用. Type 在QML中,一个type有可能是一种Ba

QT开发(二十八)——QT常用类(二)

QT开发(二十八)--QT常用类(二) 一.QDir 1.QDir简介 QDir提供对目录结构及其内容的访问. QDir通过相对或绝对路径指向一个文件. 2.QDir成员函数 QDir主要成员函数如下: QDir::QDir ( const QDir & dir ) QDir::QDir ( const QString & path = QString() ) Dir::QDir ( const QString & path, const QString & nameFil

Qt官方教程翻译——Qt Quick

附网址:http://qt-project.org/doc/qt-5/qtquick-index.html Qt Quick Qt Quick组件是编写QML应用程序的标准库.Qt QML组件提供了QML的引擎和语言基础,Qt Quick组件则提供了QML创建用户图形界面的所有基本类型.它提供了一个可视化的画布,以及创造可视化组件.接收用户输入.创造数据模型和视图.延迟实例化对象等多种类型(types). Qt Quick组件还提供了一个QML API为QML语言创建用户界面提供QML类型,以及

Qt学习之路(1)------Qt常用类用法说明

Qt常用类 向控制台输出文本 第一个例子,我们采用STL的方式: console.cpp #include <iostream> int main() { std::cout << "console application\n"; } 第二个例子我们用QT4编程库 console2.cpp #include <QTextStream> int main() { QTextStream out(stdout); out << "c

QT开发(二十七)——QT常用类(一)

QT开发(二十七)--QT常用类(一) 一.QString 1.QString简介 QString提供了Unicode编码的字符串,使用隐式共享技术来节省内存和不必要的数据拷贝,不必考虑跨平台的兼容性. QString类成员函数中除了 ascii().latin1().utf8().local8Bit()函数,其他所有的函数都是可重入的. 2.QString成员函数 QString::QString ( const QChar * unicode, int size ) QString::QSt

基于Qt的类QQ气泡聊天的界面开发

最近在写IM 聊天界面,想设计出一个类似QQ气泡聊天的样式 使用了几种办法 1:使用Qt下面的QListview来实现QQ类似效果,差强人意 2:使用QWebview加载html css样式来完成,发现效果不错,但是毕竟webview占用巨大的内存 3:使用QTextBrower加载css,但是好像只支持css2.1版本,css3完全不支持,这样的话,花哨的样式应该是无法实现 基于以上三种思路 最后发现还是QML实现比较好,但是qml基于文本与动画图片混合显示没找到好的办法,有好的办法的希望可以