1QFile类
QFile类提供了一个用于读写文件的接口,他是一个可以用于读/写文本文件,二进制文件,Qt资源的I/O设备。
以下为读写操作函数
void Dialog::read_file()
{
QFile m_file("test.txt");
if(!file.open(QIODevice::WriteOnly|QIODevice::WriteOnly))
{
QTextStream textStream(fileReadWrite);
while (!textStream.atEnd())
{
QString str=textStream.readLine();
ui->textEdit->append(str.toLocal8Bit());
}
}
}
void Dialog::write_read()
{
QFile file("test.txt");
if(file.open(QIODevice::ReadWrite|QIODevice::Append))
{
QString str = ui->textEdit->toPlainText();
file.write(str.toUtf8());
}
file.close();
}
2.QDir
QDir类提供了访问系统目录结构及其内容的与平台无关的方式。
以下为列出选择目录下所有文件,会递归调用遍历目录下目录里文件
bool Dialog::findFile(const QString &path)
{
QDir dir(path);
if(!dir.exists())
{
return false;
}
else
{
dir.setFilter(QDir::Dirs|QDir::Files|QDir::NoDotAndDotDot);
dir.setSorting(QDir::DirsFirst);
}
QFileInfoList list=dir.entryInfoList();
int i=0;
bool blsDir;
if(list.size()>0)
{
do
{
QFileInfo fileInfo=list.at(i);
blsDir=fileInfo.isDir();
if(blsDir)
{
findFile(fileInfo.filePath());
}
ui->textEdit->append(fileInfo.fileName());
++i;
}
while(i<list.size());
}
}
void Dialog::on_pushButton_clicked()
{
ui->textEdit->clear();
QString dirpath = QFileDialog::getExistingDirectory(this,"选择目录","./",QFileDialog::ShowDirsOnly);
findFile(dirpath);
}