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不高或者说并发数不是很大的应用,一般不用考虑这些!用一般的文件操作方法完全没有问题.但如果 ...
随机推荐
- SpringMVC 进阶
请求限制 一些情况下我们可能需要对请求进行限制,比如仅允许POST,GET等... RequestMapping注解中提供了多个参数用于添加请求的限制条件 value 请求地址 path 请求地址 m ...
- tensorflow feed_dict()
import tensorflow as tf a=tf.Variable(100) b=tf.Variable(200) c=tf.Variable(300) update1=tf.assign(c ...
- 杂记 -- 关于vue-router样式、vuecli引用全局js函数、vue.slot用法
1.routerLinkTo 样式设置 首先,点击routerlink标签如下图:添加:router-link-active,router-link-exact-active两个类的样式 router ...
- Cmake知识----编写CMakeLists.txt文件编译C/C++程序(转)
1.CMake编译原理 CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt ...
- Python3(十二) Pythonic与Python杂记
一.用字典映射代替switch case语句 if/else可以代替switch但是非常不合适. 用字典代替switch: day = 5 switcher = { 0:'Sunday', 1:'Mo ...
- nginx单个ip访问频率限制
一.限制所有单个ip的访问频率 1.http中的配置 http { #$limit_conn_zone:限制并发连接数 limit_conn_zone $binary_remote_addr zone ...
- 为什么Linux 实例执行 df 和 du 查看磁盘时结果不一致
问题现象 执行 df -h 查看 ECS Linux 实例文件系统使用率,可以看到 /dev/xvdb1 磁盘占用了约27G,挂载目录为 /opt . 进入到 /opt 目录执行 du -sh ,显示 ...
- mysql 启动,停止,重启
启动mysql: 方式一:sudo /etc/init.d/mysql start 方式二:sudo start mysql 方式三:sudo service mysql start sudo ./ ...
- Ubuntu14.04安装及配置mysql5.7.19
通过uname -a或lsb_release -a 查看版本信息 ,确定linux的发行版是debian还是ubuntu.root@suepc:/usr/local# uname -aLinux su ...
- 微信小程序如何下载超过大小限制(10M)的视频?(苹果用户仔细看,安卓用户快速看)
众所周知,微信小程序对下载的文件大小有限制,目前是最大支持10M.我们在用去水印小程序保存视频的时候,如果遇到长视频,视频大小可能就超过限制.遇到这种情况,我们如何才能把视频保存到手机相册呢? 首先, ...