1、利用qt来复制文件,首先新建个工程文件,拖入按钮(复制文件)
2、需要引入的头文件如下:
include <QDebug>
#include <QDir>
#include <QFileDialog>
#include <QFile>
3、具体实现源码如下:
void MainWindow::on_pushButton_clicked()
{
QFileDialog fileDialog;
//选择过滤的路径
QString saveDir = fileDialog.getExistingDirectory(this);
QDir dirlist(saveDir);
QStringList namefile;
//需要过滤的文件的格式,这边只筛选txt文件
namefile<<"*.txt";
//从选择好的文件中进行筛选,并返回带有txt后缀的文件
namefile = dirlist.entryList(namefile, QDir::Files | QDir::Readable, QDir::Name);
qDebug()<<"namefile===="<<namefile;
for each(QString files in namefile)
{
QString originFilePath = QString("%1//%2").arg(saveDir).arg(files);
qDebug()<<"originFilePath=="<<originFilePath;
QString destFilePath = QString("%1//%2").arg("E:/").arg(files);
qDebug()<<"destFilePath=="<<destFilePath;
//如果已经存在,则删除原来的文件
if(QFile::exists(destFilePath))
{
QFile::remove(destFilePath);
}
//开始复制
QFile::copy(originFilePath,destFilePath);
}
}
需要自己在桌面建立个文件夹,放上abc.txt文件,然后选择再进行复制
结果如下:(我这边默认放在E盘中,结果就是可以在E盘多个txt文件)