Qt读写文件
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读写文件的更多相关文章
- Qt的Model/View Framework解析(数据是从真正的“肉(raw)”里取得,Model提供肉,所以读写文件、操作数据库、网络通讯等一系列与数据打交道的工作就在model中做了)
最近在看Qt的Model/View Framework,在网上搜了搜,好像中文的除了几篇翻译没有什么有价值的文章.E文的除了Qt的官方介绍,其它文章也很少.看到一个老外在blog中写道Model/Vi ...
- 【QT】文件读写操作
读取输出: QFile file("D:/Englishpath/QTprojects/1.dat"); if(!file.open(QIODevice::ReadOnly)) { ...
- QT 读写sqllite数据库
QT 读写sqllite数据库 分类: 技术资料2014-04-10 10:39 84人阅读 评论(0) 收藏 举报 #include <QtGui/QApplication> #incl ...
- Qt之文件操作 QFile
原地址:http://blog.csdn.net/liuhongwei123888/article/details/6084761 今天学习QT的文件操作 1.QIODevice直接继承自QObjec ...
- 界面编程之QT的文件操作20180729
/*******************************************************************************************/ 一.QT文件 ...
- Hyper-V无法文件拖拽解决方案~~~这次用一个取巧的方法架设一个FTP来访问某个磁盘,并方便的读写文件
异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 服务器相关的知识点:http://www.cnblogs.com/dunitia ...
- 计算机程序的思维逻辑 (60) - 随机读写文件及其应用 - 实现一个简单的KV数据库
57节介绍了字节流, 58节介绍了字符流,它们都是以流的方式读写文件,流的方式有几个限制: 要么读,要么写,不能同时读和写 不能随机读写,只能从头读到尾,且不能重复读,虽然通过缓冲可以实现部分重读,但 ...
- Python读写文件
Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('t ...
- php中并发读写文件冲突的解决方案
在这里提供4种高并发读写文件的方案,各有优点,可以根据自己的情况解决php并发读写文件冲突的问题. 对于日IP不高或者说并发数不是很大的应用,一般不用考虑这些!用一般的文件操作方法完全没有问题.但如果 ...
随机推荐
- 1、OSI参考模型
网络的层次模型:Core layer (核心层):高速转发,不建议做策略 Distribution layer (分布层,汇聚层):基于策略连接(路由控制,安全策略)Access layer (接入 ...
- 2019icpc西安邀请赛
来源:https://www.jisuanke.com/contest/2625?view=challenges 更新中 A.Tasks 直接贪心 代码:听说当时很多队伍提前拆题甚至上机了,所以很多0 ...
- 如何高效地远程部署?自动化运维利器 Fabric 教程
关于 Python 自动化的话题,在上一篇文章中,我介绍了 Invoke 库,它是 Fabric 的最重要组件之一.Fabric 也是一个被广泛应用的自动化工具库,是不得不提的自动化运维利器,所以,本 ...
- 超长可视化指南!带你理清K8S部署的故障排查思路,让bug无处遁形
本文将帮助你厘清在Kubernetes中调试 deployment的思路.下图是完整的故障排查思路,如果你想获得更清晰的图片,请在公众号后台(RancherLabs)回复"troublesh ...
- 日志框架 log4j2 全解析
概述 logging翻译为日志记录 那问题是什么是日志? 日志实际上是日记的一种,用于记录某个时间点发生了什么事情,比如大学老师的教学日志,工作日志等 为什么要记录日志? 在实际生活中记录日志主要为了 ...
- 自定义内建模块 - Python Build Your Own Built-In Module
在 python 中, 用户可以通过 py 文件创建自定义的 module, 也可以通过 C 创建 dll, 扩展 python module. 当用户在一个正在编辑的模块 module 中, 引入( ...
- Kubernetes 部署 Nginx Ingress Controller 之 nginxinc/kubernetes-ingress
更新:这里用的是 nginxinc/kubernetes-ingress ,还有个 kubernetes/ingress-nginx ,它们的区别见 Differences Between nginx ...
- k8s pod时区更改
一.问题所在 在K8S里启动一个容器,该容器的设置的时区是UTC0,但是对于很多客户而言,其主机环境并不在UTC0.例如中国客户在UTC8.如果不把容器的时区和主机主机设置为一致,则在查找日志等时候将 ...
- JMeter接口测试-如何循环使用接口返回的多值?
前言 在用JMeter做接口测试的时候,经常会遇到这样一种情况:一个接口请求返回了多个值,然后下一个接口想循环使用前一个接口的返回值:第二种情况:只想循环请求前一个接口返回值中的随机不定长度的某一些值 ...
- Oracle中将列查询结果多行逗号拼接成一个大字段
在11G以下版本中oracle有自带的函数wm_concat可以实现,如: select wm_concat(id) from table where col='1' 但是在12C版本中此函数无法使用 ...