精华内容
下载资源
问答
  • QFile读文件

    2019-10-03 16:53:37
    #include <QCoreApplication> #include <QFileInfo> #include <QDebug> ...QFile> #include <QIODevice> int main(int argc, char *argv[]) { QCoreAppli...
    #include <QCoreApplication>
    #include <QFileInfo>
    #include <QDebug>
    #include <QFile>
    #include <QIODevice>
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
        QFile file("D:/qt/myqfileinfo/in.txt");
        qDebug()<<file.exists();
        if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
            qDebug()<<"open failed";
    
        else{
            while (!file.atEnd()) {
                QByteArray line = file.readLine();
                qDebug()<<line;
            }
        }
        file.close(); //关闭文件
    
    
        return a.exec();
    }

     

    转载于:https://www.cnblogs.com/ACPIE-liusiqi/p/10623352.html

    展开全文
  • Qt5基础 QFile读文件

    2020-09-21 17:25:49
    此文章为在B站上学习黑马程序员Qt教程的QFile读文件部分做的记录,加深理解,方便回看。 目录Qt5基础系列一、简介二、QFile读文件1、头文件2、引入类3、主程序4、运行截图三、总结 一、简介 读写文件是非常常用的,...

    Qt5基础系列

    Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的QFile读文件部分做的记录,加深理解,方便回看。

    一、简介

    读写文件是非常常用的,而QFile是Qt5用于读取文件的基类方法。

    二、QFile读文件

    1、头文件

    QWidget创建项目基础上定义点击按钮事件。

    private slots:
        void on_pushButton_clicked();
    

    2、引入类

    #include "widget.h"
    #include "ui_widget.h"
    #include <QFile>
    #include <QFileDialog>
    

    3、主程序

    void Widget::on_pushButton_clicked()
    {
        QString path = QFileDialog::getOpenFileName(this,
                                                    "open","../","TXT(*.txt)");
        if(path.isEmpty() == false)//读到的文件路径不空
        {
            //文件对象
            QFile file(path);
    
            //打开文件,只读方式
            bool isOk = file.open(QIODevice::ReadOnly);
            if(isOk == true)
            {
            //两种读取方式,一种全部一次性读入,另一种一行一行读
    #if 0
                //读文件,默认只识别utf8编码
               QByteArray array = file.readAll();
               //显示到编辑区
               ui->textEdit->setText(QStrinf(array));
    #endif
               QByteArray array;
               while(file.atEnd() == false)
               {
                   //读一行
                   array += file.readLine();
               }
               ui->textEdit->setText(array);
            }
            //关闭文件
            file.close();
        }
    
    }
    

    4、运行截图

    在这里插入图片描述

    三、总结

    以上就是Qt5读文件的实现了,注意,这种实现只能读取UTF-8格式的txt文本文件,后续会补充GB2312之类的读取方法。

    展开全文
  • 34黑马QT笔记之QFile读文件 1 QFile的作用: 相当于一个虚拟文件,需要与具体文件关联才能操作,一般配合文件对话框的返回值来使用,即getOpenFileName函数。当然,也可以在创建QFile时关联一个不存在的文件路径,...

    34黑马QT笔记之QFile读文件

    1 QFile的作用:
    相当于一个虚拟文件,需要与具体文件关联才能操作,一般配合文件对话框的返回值来使用,即getOpenFileName函数。当然,也可以在创建QFile时关联一个不存在的文件路径,保存后自动创建该文件。

    2 如何读取一个本地的文件显示到指定控件(一般是文本编辑区)呢?
    1)利用文件对话框函数getOpenFileName获取路径。
    2)将选择好的文件路径与QFile关联。
    3)打开文件。
    4)利用read或者readAll或者readLine等等,将数据读取到字节数组QByteArray,然后将其显示在文本编辑区即可。
    5)关闭文件。

    3 代码:

    void MyWidget::on_Mybutton1_clicked()
    {
        //QFile的作用:相当于一个虚拟文件,需要与具体文件关联才能操作 一般配合文件对话框的返回值来使用 即getOpenFileName函数
        //也可以在创建QFile时关联一个不存在的文件路径 保存后自动创建该文件
    
    
    
        //1 利用文件对话框获取文件路径
        QString path=QFileDialog::getOpenFileName(this,"文件对话框","./..");
        if(path.isEmpty())
        {
            return ;             //注意构造函数无返回值 所以不要给它值就可以
        }
    
        //2 定义QFile文件并关联
        QFile file(path);
    
        //3 打开文件
        //与linux一样 只不过linux的open三个参数 将关联与打开合在一起
        bool ret=file.open(QIODevice::ReadOnly);
        if(ret==false)
        {
            return ;
        }
    
        //4 对文件进行操作
        //QFile只能默认显示utf8 显示其他编码需要后面的文本流
        QByteArray array=file.readAll();
        ui->textEdit->setText(QString(array));
    
    #if 0
        //使用readLine:
    
        //若文件还没读到尾 则一行一行读到字节数组中
        QByteArray array;
        while(file.atEnd()==false)
        {
            //readLine的默认参数maxSize=0表示以一行的最大字节数来读
            //若设定maxSize则表示按设定的字节数来读 并且设定时maxSize不能超过一行的最大字节数
            array+=file.readLine();         //不要忘了+
        }
        ui->textEdit->setText(QString(array));
    #endif
    
        //5 关闭QFile文件
        file.close();
    }
    

    4 了解一下Qt下的一些IO设备:
    在这里插入图片描述
    可以看出Qt下的IO操作基类是QIODevice。我说一下我认识的和Qt常用的。
    1)常用的就是QFile,第一点作用已经说了。然后还有QTcpSocket和QUdpSochet,这两个就是相当于Linux下的Tcp连接和Udp连接,他们继承于网络通信的共同抽象类。
    2)QBuffer相当于一个缓冲区类。QProcess相当于Linux下的exec函数族,功能类似,可以在程序执行时转去exec设定的外部程序执行。

    展开全文
  • 这几个函数都是QFileDialog这个类中的静态函数,可以调用当前系统的文件对话框。具体来讲: getOpenFileName返回一个被用户选中的文件的路径,前提是这个文件是存在的。 getSaveFileName返回一个被用户选中的文件的...

    这几个函数都是QFileDialog这个类中的静态函数,可以调用当前系统的文件对话框。具体来讲:

    getOpenFileName返回一个被用户选中的文件的路径,前提是这个文件是存在的。

    getSaveFileName返回一个被用户选中的文件的路径,这个文件可以是不存在的。

    getOpenFileNames返回一个或多个被用户选中的文件的路径,前提是这些文件是存在的。
      
    GetOpenFilename相当于Excel打开窗口,通过该窗口选择要打开的文件,并可以返回选择的文件完整路径和文件名。

    #include "QtFile.h"
    #include <QFile>
    #include <QFileDialog>
    #include <QFileInfo>
    #include <QDateTime>
    #include <QDebug>
    
    QtFile::QtFile(QWidget *parent)
    	: QWidget(parent)
    {
    	ui.setupUi(this);
    
    	connect(ui.pushButton_read, SIGNAL(clicked()), this, SLOT(slotReade()));
    	connect(ui.pushButton_write, SIGNAL(clicked()), this, SLOT(slotWrite()));
    }
    void QtFile::slotReade()
    {
    	//显示标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件,只是把打开文件名称返回程序。
    	//GetOpenFilename相当于Excel打开窗口,通过该窗口选择要打开的文件,并可以返回选择的文件完整路径和文件名。
    	QString path = QFileDialog::getOpenFileName(this, "OPen", "../");
    	if (!path.isEmpty())
    	{
    		//文件对象
    		QFile file(path);
    		//打开文件 只读方式  
    		bool isok = file.open(QIODevice::ReadOnly);
    		{
    #if 0
    			//读文件,默认只识别UTF-8编码
    			QByteArray array= file.readAll();	//读取所有
    			ui.textEdit->setText(array);
    #endif
    			QByteArray array;
    			while (!file.atEnd())
    			{
    				array += file.readLine();
    			}
    			ui.textEdit->setText(array);		//设置文本内容
    		}
    		file.close();
    
    		QFileInfo info(path);
    		qDebug() << QString::fromLocal8Bit("文件名字:") << info.fileName().toUtf8().data();
    		qDebug() << QString::fromLocal8Bit("文件后缀:") << info.suffix();
    		qDebug() << QString::fromLocal8Bit("文件大小:") << info.size();
    		qDebug() << QString::fromLocal8Bit("文件创建时间:") << info.created().toString("yyyy-MM-dd hh:mm:ss ddd");
    	}
    }
    void QtFile::slotWrite()
    {
    	QString path = QFileDialog::getSaveFileName(this, "save", "../", "TXT(*.txt)");
    	if (!path.isEmpty())
    	{
    		//QFile file(path);	
    		QFile file;		//创建文件对象
    		file.setFileName(path);		//关联文件名字
    
    		bool isOk = file.open(QIODevice::WriteOnly);
    		if (isOk)
    		{
    			//获取编辑区内容
    			QString qstr = ui.textEdit->toPlainText();
    			//QString 转换成 QByteArray 
    			//file.write(qstr.toUtf8());
    			file.write(qstr.toStdString().data());	//qstr.toLocal8Bit();		//转换成本地8字节
    		}
    		file.close();
    	}
    }
    
    展开全文
  • 如果不用seek(0)的话,默认是自己会把读取文件的指针后移的,不用手动后移;
  • #include "widget.h"...QFile&gt; #include&lt;QFileDialog&gt; Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui-&gt;setupUi(this); ...
  • 例子1:指定读入字节数,以10为例 QFile file1("D:/1.txt"); file1.open(QIODevice::ReadOnly); int num = 10;...char * buffer=new char[num];...=0) // 一次进10个字节(进10个字节,l...
  • 利用qt的QFile读文本文件

    千次阅读 2018-06-08 10:45:48
    今天主要学习用qt里面的QFile来读取文本内容。第一步我们首先新建一个项目选择qt控制台应用 新建一个项目。接着就是在main.cpp里面添加代码如下:#include &lt;QCoreApplicatoin&gt;#include &lt;QFile&...
  • QT5 QFile读/写文件操作方法

    千次阅读 2019-07-30 09:54:23
    文档打开/写操作命令说明 值 描述 QIODevice::NotOpen 未打开 QIODevice::ReadOnly 以只读方式打开 QIODevice::WriteOnly 以只写方式打开 QIODevice::ReadWrite 以读写方式...
  • QFile读写文件

    万次阅读 2014-12-19 13:21:58
    1.读文件 QFile file("/home/administrator/testdir/test.txt"); if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) { qDebug()"Can't open the file!"} while(!file.atEnd()) { QByteArr
  • QFile文件

    千次阅读 2018-07-20 10:13:05
    读文件 read按钮是读入文本,write是写入文本 首先我们将read按钮转到槽 需要添加头文件: #include&lt;QFile&gt; #include&lt;QFileDialog&gt; 然后写上槽函数代码: void Widget::on_...
  • QFile文件清空再写入

    2021-03-17 21:47:29
    QFile文件本身没有清空文件功能,可以采用先读文件,再写文件的方式进行文件清空写入。 //文件读操作 QFile file(filePath); if (!file.open(QFile::ReadOnly | QFile::Text)) { return; } file.close(); //文件...
  • QFile读文件: void Widget::QFile_Read() { //获取文件路径(文件名) QString path = QFileDialog::getOpenFileName(this,"打开","../","TXT(*.txt)"); if(path.isEmpty() == false) { //创建文件对象 ...
  • QFile 读文件 头文件: #include<QFile> #include<QFileDialog> 基本操作 通过按钮打开文件对话框 void Widget::on_pushButton_clicked() { QString path =QFileDialog::getOpenFileName(this,"open",...
  • QT 文件操作 QFile

    万次阅读 2019-06-12 21:30:00
    输入/输出设备 QIODevice 类是 Qt 中所有 I/O 设备的基础接口类,为诸如 QFile、QBuffer 和 QTcpSocket 等支持/写数据块的设备...QFile类提供一个用于/写文件的接口,它是一个可以用来读写文本文件、二进制文件...
  • QFile清空原来文件内容的方法

    万次阅读 2018-04-09 12:47:32
    最近做项目用到QFile进行文件的读写,发现写进去之后,文件原来的内容...读文件时,open函数设置QIODevice::ReadOnly 或者QFile::ReadOnly模式 QDomDocument doc("mydocument"); QFile file(filePath)...
  • QFile读取文本文件中文乱码处理

    千次阅读 2017-07-29 14:57:22
    Qt读取文本文件有两种方式: 1.QFile直接 QTextCodec *codec = QTextCodec::codecForName("utf-8"); QFile file(filename); file.open(QIODevice::ReadOnly); QByteArray arr = file.readLine(); *QString
  • Qt文件操作 QFile的使用

    千次阅读 2019-11-18 10:48:44
        QFile类提供了一个用于/写文件的接口,是一个可以用来/写文本文件、二进制文件和Qt资源的I/O设备。QFile可以单独使用,也可以和QTextStream或者QDataStream一起使用,这样会更方便。一般在构建QFile对象时...
  • 一、QFlie文件读写  #include<QFile>  #include<...//文件对话框1、读文件 1 QString path = QFileDialog::getOpenFileName(this,//指定父对象 2 "open", "../", "TXT(*.txt)");//对话框的...
  • Qt 文件QFile、QFileInfo

    千次阅读 2018-11-13 12:03:28
    QIODevice类是Qt中所有I/O设备的基础接口类,为诸如QFile、QBuffer和QTcpSocket等支持/写数据库块的设备提供了一个抽象接口。 访问一个设备前,需要使用open()函数打开该设备,而且必须指定正确的打开模式。打开...
  • QFile类和QTextStream类程序效果展示QFile文本内容:QTextStream类写文本: 程序 main.cpp #include <QCoreApplication> #include <QFile> #include <QTextStream> #include <QDebug> ...
  • 一、读文件 1.读全部 void MyWidget::on_readFileButton_clicked() { QString path = QFileDialog::getOpenFileName(this,"open","../","TXT(*.txt)"); //最后两个参数分别为,默认路径和默认筛选格式 if(path....
  • 一、文本文件 文本文件是指纯文本格式存储的文件,例如:.cpp、.html、.xml文件等都是纯文本文件 二、QT纯文本文件读写函数 ...功能:提供了 一个用于/写文件的接口,它可以用来/写文本文件、二进制文件...
  • QFile的使用

    2020-06-08 10:45:19
    打开文件的方式,可可写:file.open(QIODevice::ReadWrite);//如果该路径下文件不存在,自动创建文件,打开成功,返回true ;如果存在,直接打开 for(int i = 0;i<3;i++) { QByteArray str /= file.readAll()/; ...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 169
精华内容 67
关键字:

qfile读文件