Qt笔记:文件I/O操作
一、铺垫
1.Qt中的所有类都是已经封装好的;拿出来直接用就可以;只不过是种类太过于繁多,以及继承的太杂;所以对与我这样的初学者来说眼花缭乱;
2.但是不可否认;Qt是相当能打的,因为他从90年代打到了现在,在没有被淘汰的同时,还被太多的公司使用;牛到了一定的程度。
3.Qt框架的开发比C++98标准出现的要早;还是希望做Qt框架的大佬能够优化Qt的语法,让Qt贴合C++标准;使得学习C++的人可以无门槛进入Qt;而不是在Qt文档的海洋里溺水(一个作为初级菜鸟的小小愿望);
4.Qt的继承太多了;东西太杂了;这很明显是多个领域的不同的高精尖人才分类写成的软件;然后组在了一起;所以学习Qt不要深挖;他不是C++一个类给你20个函数;你有印象就可以使用,C++官网把参数传的是什么样子也写出来了,类型一看就知道是什么样子;Qt可以去看一下官方文档一个类中上百个函数;扯呢?所以,只能是用到什么查什么!
二、文件I/O操作
2.1打开文件读取
//1.弹出一个打开文件的对话框;获取文件路径
QString path= QFileDialog::getOpenFileName(this);
//2.根据用户选择路径;构造一个QFile对象;然后打开文件
QFile file(path);
bool value= file.open(QIODevice::ReadOnly);
//3.判断文件是否打开文件失败;
if(value==false){
statusBar->showMessage(path+"打开失败");
return;
}
//读取文件中的所有数据;数据量小可以使用此函数;要是50G读一下那就肯定程序挂了
//最好是选读取一行,或是其他函数;
QString text= file.readAll();
//5.关闭文件;千万记住
file.close();
2.2保存文件
//1.先弹出一个保存文件的对话框
QString path= QFileDialog::getSaveFileName(this);
//2.根据用户选择的路径,构造一个QFile对象,并打开文件
QFile file(path);
bool ret=file.open(QIODevice::WriteOnly);
//3.判断文件打开是否成功
if(!ret){
statusBar->showMessage(path+"打开失败");
return ;
}
//4.写文件
const QString& text=edit->toPlainText();
file.write(text.toUtf8());
//关闭文件
file.close();