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

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

  • 相关阅读:
    2017.9.15 HTML学习总结---表格table
    2017.9.14 HTML学习总结---超链接标签图片标签
    2017.9.13 微机原理学习总结(一)
    2017.9.12 初入HTML -----学习总结(二)
    2017.9.11 初入HTML学习
    【死磕Java并发】-----Java内存模型之happens-before
    Java并发编程:volatile关键字解析[volatile最好的文章]
    【框架】[MyBatis]DAO层只写接口,不用写实现类
    MyBatis结果集处理,中resultType和resultMap的区别
    浅谈 Mybatis中的 ${ } 和 #{ }的区别
  • 原文地址:https://www.cnblogs.com/Pan-Z/p/6393017.html
Copyright © 2020-2023  润新知