zoukankan      html  css  js  c++  java
  • Qt

             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风格的行终止符(" ")转换为C++风格的终止符(" ")。 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()修改。

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

  • 相关阅读:
    09-23
    21-9-18日记1
    paho mqtt库使用记录
    UIS8811 的 NB-IOT 初认识(21-9-10工作记录 )
    go语言之异常捕获
    【原创】数据库基础之PostgreSQL
    【原创】Linux基础之fail2ban
    【原创】大叔经验分享(132)mac os 12启动idea失败
    【原创】大数据基础之Hadoop(3)hdfs diskbalancer
    【转】常用 Git 命令清单
  • 原文地址:https://www.cnblogs.com/Pan-Z/p/6393017.html
Copyright © 2011-2022 走看看