马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
C语言中通过fopen/fread/fwrite/fclose举行文件操纵
C++中通过fstream/>>/<</close举行文件操纵
Linux中通过open/read/write/clos举行文件操纵
Qt中同样可以利用上述文件操纵
但是Qt同样封装了自己的一套文件操纵,,在编写Qt步调时,保举利用Qt自己提供的文件操纵,和Qt的容器(如Qstring等)更加适配、
Qt提供QFile类来实现文件操纵
继承体系
QFile类是用来实现文件操纵的类
QTemporaryFile是一个暂时文件类,当QFie销毁时,QTemporaryFile自动删除
QSaveFile是用于在写文件时,自动的把写的内容先写到暂时文件中,不会破坏原有的文件,等写入操纵完成后,将旧的文件删除,用新的文件更换旧的文件
QFile---文件类
对文件举行操纵时,先创建QFile类
必要指定文件路径和父对象
然后通过QFile类重写的open举行文件打开
mode是打开方式,分为读方式打开,写方式打开,追加写方式打开等
打开文件后就可以举行读写操纵
如:read()---由QIODevice提供
第一个是传入数组和数组巨细,将读到的内容写入数组
第二个是将读到的内容以字节数组方式返回
第三个是一个读取文件所有数据,以字节数组方式返回
write()
第一个是直接指定要写入的字符数组和数组巨细
第二个是直接传入要写入的数组
第三个是直接传入要写入字节数组
完成读写操纵后就必要举行文件关闭---释放文件形貌符,避免文件形貌符表满了
close()
例:
通过菜单栏实现文件的打开,生存,通过多行编辑框实现文件的数据的写入和体现
在头文件声明文件打开和生存信号的槽函数,将QPlainTextEdit作为一个成员变量用来存储创建的QPlainTextEdit的指针,便于向多行输入框举行读写
设置布局
毗连槽函数
在源文件举行定义实现槽函数
打开文件
生存文件
此时可以打开文件,将文件的数据体现到多行输入框,或者将多行输入框的数据生存到新建文件内
总结
对文件操纵的流程是,通过弹出打开/生存文件对话框
QString path=QFileDialog::getOpenFileName(this)
QString path=QFileDialog::getSaveFileName(this)
获取要操纵的文件的路径
在通过QFlie类创建对应文件类
QFile file(path)
再通过open()以读/写方式打开,需吸收返回值,判断是否打开成功
如果读文件则调用用文件类调用readAll(),通过QString吸收读取的数据---为QByteArrary范例,会自动转换为QString范例
如果写文件则调用文件类的write(),将要写入的数据传入wirte函数,必要转换为QByteArrary范例
QFileInfo---文件和目次信息
QFielInfo是Qt提供的一个用于获取文件相关属性的类,如文件名,文件巨细,文件修改日期等
常用方法
方法
| 分析
| isDir()
| 查抄该文件是否有目次
| isExecutable()
| 查抄该文件是否是可实行文件
| fileName()
| 得到文件名
| completeBaseName()
| 获取完备的文件名
| suffix()
| 获取文件后缀名
| completeSuffix()
| 获取完备的文件后缀
| size()
| 获取文件巨细
| isFile()
| 判断是否为文件
| fileTime()
| 获取文件创建时间,修改时间,迩来访问时间等
|
例:
创建一个继承自QWidget的文件,在ui界面创建一个按钮,通过点击按钮弹出打开文件对话框,获取文件路径,通过文件路径创建QFileInfo类
转到clicked槽函数举行实现,打印文件的相关属性
|