Qt—文件操作相关

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);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值