当前位置: 首页 > wzjs >正文

越城区住房和城乡建设局网站百度网站管理员工具

越城区住房和城乡建设局网站,百度网站管理员工具,wordpress 插件 设计,成都网站开发建设QT中的文件IO 一、有关文件IO的类二、步骤1、定义QFile的对象,与要读写的文件绑定在一起2、打开文件3、读写文件1)读取文件2)写入文件 4、关闭文件5、示例代码: 三、QString和QByteArray之间的转换1、方法2、示例代码: 四、QFileI…

QT中的文件IO

  • 一、有关文件IO的类
  • 二、步骤
    • 1、定义QFile的对象,与要读写的文件绑定在一起
    • 2、打开文件
    • 3、读写文件
      • 1)读取文件
      • 2)写入文件
    • 4、关闭文件
    • 5、示例代码:
  • 三、QString和QByteArray之间的转换
    • 1、方法
    • 2、示例代码:
  • 四、QFileInfo类 --》获取文件属性
    • 1、方法
  • 五、QDir类 --》QT中的目录操作
    • 1、方法
    • 2、示例代码(与QFileInfo配合使用)

一、有关文件IO的类

QFile 表示某个文件对象
QDir 表示某个目录对象
QFileInfo 存放文件的属性信息(文件大小,文件类型等等)

二、步骤

1、定义QFile的对象,与要读写的文件绑定在一起

QFile::QFile(const QString &name)
参数:name --》需要读写的文件路径名

2、打开文件

bool QIODevice::open(OpenMode mode)返回值:成功 true  失败 false参数:QIODevice::ReadOnly    //只读QIODevice::WriteOnly   //只写QIODevice::ReadWrite   //只读写
新建文件  open(QIODevice::WriteOnly|QIODevice::Truncate)

3、读写文件

1)读取文件

qint64 QIODevice::read(char *data, qint64 maxSize)返回值:成功 返回读取的字节数  失败 -1参数:data --》保存读取的数据maxSize --》读取多少字节的数据QByteArray QIODevice::read(qint64 maxSize)返回值:读取的数据参数:maxSize --》读取多少字节的数据
QByteArray QIODevice::readAll()  //一次性读取整个文件内容,适合读取小文件
qint64 QIODevice::readLine(char *data, qint64 maxSize) //一次最多读取一行文件数据
类比:fgets

2)写入文件

qint64 QIODevice::write(const char *data, qint64 maxSize)
qint64 QIODevice::write(const QByteArray &byteArray)

4、关闭文件

void QIODevice::close()

5、示例代码:

// mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void on_pushButton_clicked();private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H// mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <QDebug>
#include <QMessageBox>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);
//    ui->textBrowser->setText("你好,世界aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
}MainWindow::~MainWindow()
{delete ui;
}// pushbutton 右键转到槽
void MainWindow::on_pushButton_clicked()
{QString pathName = QFileDialog::getOpenFileName(this);// 创建文件对象QFile myFile(pathName);// 打开文件bool ret = myFile.open(QIODevice::ReadWrite);if (!ret){QMessageBox::warning(this, "警告", "文件打开失败");return;}// 读取文件内容// char buf[100]={0};// myfile.read(buf,100); //读取100个字节存放到buf中// qDebug()<<"读取的内容: "<<buf;// QByteArray buf=myfile.read(100);  //读取100个字节,以返回值的形式返回// QByteArray叫做字节数组,里面的内容是16进制的形式显示// 把QByteArray转换成QString  QString(const QByteArray &ba)// QString str(buf);// qDebug()<<"读取的内容: "<<str;// 一次性读取整个文件(视频几十M以上的无法读取)QByteArray buf=myFile.readAll();//在文本浏览框中显示ui->textBrowser->setText(buf);//关闭文件myFile.close();
}

三、QString和QByteArray之间的转换

1、方法

QByteArray --》QString   自动转换,调用了构造函数
QString --》QByteArray   必须使用函数转换  QByteArray QString::toUtf8()
char * --》QString       自动转换,调用了构造函数
QString --char *       调用QString中的data()方法

2、示例代码:

// mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H// mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QByteArray>
#include <QString>
#include <QDebug>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);// 1、QByteArray --》QString   自动转换(调用了构造函数)QByteArray byteArry("你好,世界");QString str1 = byteArry;  // 跟QString str1(byteArry)等价的qDebug()<<"str1:"<<str1;  // str1: "你好,世界"// 2、QString --》QByteArray   必须使用函数转换  QByteArray QString::toUtf8()QString str2="helloworld";QByteArray array2=str2.toUtf8();qDebug()<<"array2:"<<array2;  // array2: "helloworld"// 3、char * --》QString       自动转换(调用了构造函数)char buf[10]="你好";QString str3=buf;  //跟QString str3(buf)等价的qDebug()<<"str3:"<<str3;  // str3: "你好"// 4、QString --》char *       调用QString中的data()方法QString str4="nihao";QChar *p=str4.data();qDebug() << "通过循环逐个输出字符:";for (int i = 0; p[i] != '\0'; ++i){qDebug() << p[i];}
}MainWindow::~MainWindow()
{delete ui;
}

四、QFileInfo类 --》获取文件属性

1、方法

QFileInfo::QFileInfo(const QString &file)参数:file --》文件的路径名
QString QFileInfo::filePath() const  //获取文件的路径名
bool QFileInfo::isDir() const        //判断文件是否是目录
qint64 QFileInfo::size() const       //获取文件大小
QString QFileInfo::suffix() const    //获取文件的后缀名

五、QDir类 --》QT中的目录操作

1、方法

第一步:新建QDir的对象,跟某个目录的路径绑定一起
QDir::QDir(const QString &path = QString())参数:path --》要遍历的目录的路径名
第二步:遍历目录,得到目录的文件名
QStringList QDir::entryList() const返回值:字符串列表中存放了目录中所有的文件名字

2、示例代码(与QFileInfo配合使用)

// mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void on_pushButton_clicked();private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H// mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <QDir>
#include <QDebug>
#include <QFileInfo>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}// 打开目录
void MainWindow::on_pushButton_clicked()
{// 打开目录对话框QString dirpath=QFileDialog::getExistingDirectory(this,"我的目录");//qDebug()<<"选择的目录是: "<<dirpath;// 创建QDir的对象表示某个目录QDir mydir(dirpath);// 遍历目录QStringList filelist=mydir.entryList();for(auto x:filelist)qDebug()<<"选择的目录中包含了: "<<x;// 获取文件的属性QFileInfo info("C:/Users/Administrator/Desktop/vm_share/笔记/1.txt");// 获取文件大小qDebug()<<"文件大小是: "<<info.size();qDebug()<<"文件后缀名是: "<<info.suffix();}
http://www.dtcms.com/wzjs/84751.html

相关文章:

  • 国内工程机械行业网站建设现状河南网站排名
  • 建站行业前景广州网络公司
  • 统战部网站 微信公众号建设深圳搜索引擎
  • 做软件下载网站百度客服怎么联系
  • app软件在哪下载seochinaz查询
  • 南京和筑建设有限公司网站南京seo排名收费
  • 行业网站功能大数据培训机构排名前十
  • 国外网站设计参考国外免费源码共享网站
  • 无为建设局网站佛山seo培训机构
  • 衣柜推拉门图案设计网站西安网站seo外包
  • c 做交易网站口碑营销的形式
  • 织梦更新网站地图小学生简短小新闻十条
  • wordpress 管理员权限丢失苏州seo培训
  • 自己做商城网站能卖服装吗阿里指数在线查询
  • 济南智能网站建设报价网站百度手机端排名怎么查询
  • 网站设计技术大全故事式的软文广告例子
  • hibing wordpressseo排名赚靠谱吗
  • 简单个人网站制作网页界面设计
  • 优惠券领取网站开发百度快照是什么意思
  • 检测网站死链外呼系统电销
  • 渭南市建设局网站2345网址导航浏览器下载
  • 网站网络投票建设步骤南宁百度推广seo
  • 网站建设案例查询关键词在线听
  • 个人 可以做社交网站营销关键词有哪些
  • 全网营销型网站建设深圳网络优化推广公司
  • 上海html5网站制作深圳网站seo推广
  • 在哪个网站可以做行测题灰色行业推广平台
  • 郑州 服装 网站建设网络推广运营是做什么
  • 谷歌网站的主要内容信息流广告接单平台
  • 做网站弄什么语言百度推广运营这个工作好做吗