首页 > 其他 > 详细

Qt - QFile类(翻译)

时间:2017-02-13 12:20:32      阅读:179      评论:0      收藏:0      [点我收藏+]

         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()修改。

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

 

Qt - QFile类(翻译)

原文:http://www.cnblogs.com/Pan-Z/p/6393017.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!