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

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

  • 相关阅读:
    登录注册功能
    29-----BBS论坛
    linux笔记
    nginx,uwsgi发布web服务器
    linux常用服务部署
    linux系统基础优化及常用命令
    linux基本操作命令
    linux命令
    linux基础
    阿里云服务器搭建
  • 原文地址:https://www.cnblogs.com/Pan-Z/p/6393017.html
Copyright © 2011-2022 走看看