1、头文件

#include<QFile>
#include<QFileDialog>  
#include<QDataStream>

2、写代码前工作

在ui界面拖入2个button按钮和1个textEdit,如下图所示,并分别添加button的槽函数

3、读文件

 void MyWidget::on_readButton_clicked()
{
QString path = QFileDialog::getOpenFileName(this,"open","../"); // 添加文件地址
if(path.isEmpty() == false) // 判断地址是否不为空
{
QFile file(path); // 创建文件接口
bool success = file.open(QIODevice::ReadOnly); // 判断文件打开方式是否设定成功
if(success ==true)
{
QByteArray buf;
while(file.atEnd() == false) // 判断是否读取至最后一行
{
buf += file.readLine(); // 读取内容
}
ui->textEdit->setText(buf); // 将读取到的内容放置textEdit中
}
file.close(); // 关闭文件接口
}
}

4、写文件

 void MyWidget::on_writeButton_clicked()
{
QString path = QFileDialog::getSaveFileName(this,"save","../"); // 默认打开地址
if(path.isEmpty() == false) // 判断地址是否不为空
{
QFile file(path); //打开文件接口
bool success = file.open(QIODevice::WriteOnly); // 判断文件打开方式是否设定成功
if(success == true)
{
QString buf = ui->textEdit->toPlainText(); // 将textEdit中文本存入buf中
file.write(buf.toUtf8()); // 写入内容
}
file.close(); // 关闭文件接口
}
}

5、二进制文件写入

 void MyWidget::writeData()
{
QFile file("../binary.txt"); // 打开文件接口并设定存储方式为txt
bool success = file.open(QIODevice::WriteOnly); // 判断文件打开方式是否设定成功
if(success == true)
{
QDataStream stream(&file); // 创建文件流
stream<<QString("看多了就烦了 !")<<; //写入
}
file.close(); //关闭文件接口
}

6、二进制文件读取

 void MyWidget::readData()
{
QFile file("../binary.txt"); // 打开文件接口并设定打开路径
bool success = file.open(QIODevice::ReadOnly); // 判断文件打开方式是否设定成功
if(success == true)
{
QDataStream stream(&file); // 创建文件流
QString str;
int num;
stream>>str>>num; // 读取
qDebug()<<str.toUtf8().data()<<num;
}
file.close(); // 关闭文件接口
}

Qt读写文件的更多相关文章

  1. Qt的Model/View Framework解析(数据是从真正的“肉(raw)”里取得,Model提供肉,所以读写文件、操作数据库、网络通讯等一系列与数据打交道的工作就在model中做了)

    最近在看Qt的Model/View Framework,在网上搜了搜,好像中文的除了几篇翻译没有什么有价值的文章.E文的除了Qt的官方介绍,其它文章也很少.看到一个老外在blog中写道Model/Vi ...

  2. 【QT】文件读写操作

    读取输出: QFile file("D:/Englishpath/QTprojects/1.dat"); if(!file.open(QIODevice::ReadOnly)) { ...

  3. QT 读写sqllite数据库

    QT 读写sqllite数据库 分类: 技术资料2014-04-10 10:39 84人阅读 评论(0) 收藏 举报 #include <QtGui/QApplication> #incl ...

  4. Qt之文件操作 QFile

    原地址:http://blog.csdn.net/liuhongwei123888/article/details/6084761 今天学习QT的文件操作 1.QIODevice直接继承自QObjec ...

  5. 界面编程之QT的文件操作20180729

    /*******************************************************************************************/ 一.QT文件 ...

  6. Hyper-V无法文件拖拽解决方案~~~这次用一个取巧的方法架设一个FTP来访问某个磁盘,并方便的读写文件

    异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 服务器相关的知识点:http://www.cnblogs.com/dunitia ...

  7. 计算机程序的思维逻辑 (60) - 随机读写文件及其应用 - 实现一个简单的KV数据库

    57节介绍了字节流, 58节介绍了字符流,它们都是以流的方式读写文件,流的方式有几个限制: 要么读,要么写,不能同时读和写 不能随机读写,只能从头读到尾,且不能重复读,虽然通过缓冲可以实现部分重读,但 ...

  8. Python读写文件

    Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('t ...

  9. php中并发读写文件冲突的解决方案

    在这里提供4种高并发读写文件的方案,各有优点,可以根据自己的情况解决php并发读写文件冲突的问题. 对于日IP不高或者说并发数不是很大的应用,一般不用考虑这些!用一般的文件操作方法完全没有问题.但如果 ...

随机推荐

  1. Struts(四)

    1.Struts 2提供了非常强大的类型转换功能,提供了多种内置类型转换器,也支持开发自定义类型转换器2.Struts 2框架使用OGNL作为默认的表达式语言 ==================== ...

  2. mybatis缓存,从一个“灵异”事件说起

    刚准备下班走人,被一开发同事叫住,让帮看一个比较奇怪的问题:Mybatis同一个Mapper接口的查询方法,第一次返回与第二次返回结果不一样,百思不得其解! 问题 Talk is cheap. Sho ...

  3. Java中的代码点与代码单元

    在Java中,什么是代码点与代码单元? 代码点(Code Point):在 Unicode 代码空间中的一个值,取值 U+0000 至 U+10FFFF,代表一个字符. 其中U+0000到U+FFFF ...

  4. selenium 调用JavaScript代码

    selenium 调用JavaScript代码 调用JavaScript方法有两种: execute_script(): 方法解释:是同步方法,用它执行js代码会阻塞主线程执行,直到js代码执行完毕. ...

  5. ARTS Week 14

    Jan 27, 2020 ~ Feb 2, 2020 Algorithm Problem 160.Intersection of Two Linked Lists(相交链表) 题目链接 题目描述:给定 ...

  6. 关于AR眼镜的小结

    根据IDC(International Data Corporation,国际数据公司,IDC是全球著名的信息技术.电信行业和消费科技咨询.顾问和活动服务专业提供商)的报告,2018年AR和VR的产值 ...

  7. 虚拟机 .NAT模式下 配置静态ip后无法ping域名,但可以ping公网ip 问题处理

    在之前的文章 https://www.cnblogs.com/dxxdsw/p/10643540.html 中,在虚拟机中给linux配置了静态ip.[.NAT模式] centos系统: 今天连接发现 ...

  8. android 基础学习笔记1

    1.控件 XML种控件必须带有Layoutwidth 和height 1.textview 常用属性 text,textcolor,textsize Android 种颜色用十六进制数表示,共四种形式 ...

  9. Algorithms - Insertion Sort - 插入排序

    Insertion Sort - 插入排序 插入排序算法的 '时间复杂度' 是输入规模的二次函数, 深度抽象后表示为, n 的二次方. import time, random F = 0 alist ...

  10. pytorch之 bulid_nn_with_2_method

    import torch import torch.nn.functional as F # replace following class code with an easy sequential ...