Qt 文件操作

来源:互联网 发布:js创建button不可点击 编辑:程序博客网 时间:2024/05/19 05:33
1.QT中打开文件(类似C中的文件操作)
  1. QFile dataFile("dataFile.txt");
  2.     if (!dataFile.open(QFile::ReadOnly|QIODevice::Text))
  3.     {
  4.         ui->label_2->setText("open error");
  5.     }

打开文件后,使用QTextString或QDataString作为文件读写的接口

  1. QTextStream data(&dataFile);

2.读取文件内容

想要读取多行内容,但要注意remove('\n')

  1. QStringListfonts;
  2. while (!data.atEnd())
  3.   {
  4.         line = data.readLine();
  5.         line.remove('\n');
  6.         fonts<<line;
  7.   };

3关于文件默认存放地点,及当前目录

    刚开始直接读取文件时,我把要读取的文件放在了工程代码文件夹下,结果总是读取错误,后来发现上一级目录下还有一个相关文件夹。

如你的工程文件夹F:\QT\QTworkspace\Clock 要读取的文件放在这里要写出绝对路径 

运行编译时生成的目标文件文件夹F:\QT\QTworkspace\Clock-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK____  这里就是当前文件夹

4.设置文件读写时编码格式

QT在windows下使用UTF-8编码格式,使用中文时,写入读取要设置正确格式

  1. QTextStream in(&addItem);
  2. QTextCodec *codec=QTextCodec::codecForName("UTF-8");
  3. in.setCodec(codec);

5.windows下txt文档的换行符是由两个字符"\r\n"构成的,,而linux下的文档的换行符号是'\n'

  1. in<<QString<<"\r\n";

6.文件内容清空

  1. QFile File("dataFile.txt");
  2. File.resize(0);