#include "fllemanage.h" #include "ui_fllemanage.h"
fllemanage::fllemanage(QWidget *parent) : QWidget(parent) , ui(new Ui::fllemanage) { ui->setupUi(this);
}
fllemanage::~fllemanage() { delete ui; }
void fllemanage::on_pushButton_clicked() {
QStringList list = findALLfiles("C:/Users/00/Desktop/git clone"); QStringList purposelist; purposelist = list.filter(".jpg"); int count = 0; for (int i = 0; i < purposelist.size(); i++) { qDebug() << purposelist[i] << endl; count++; } qDebug() << "the max file has " << list.size() << endl; qDebug() << "the purpose file has " << count << endl;
QString toDir = "C:/Users/00/Desktop/123";
QDir dir(toDir); if (!dir.exists(toDir)) { dir.mkdir(toDir); }
QFile destFile(toDir); bool success = true; success &= destFile.open(QFile::WriteOnly | QFile::Truncate);
for (int i = 0; i < purposelist.size(); i++) { std::string pur = purposelist[i].toStdString(); std::string sdir = toDir.toStdString();
int pos = pur.find_last_of('/'); std::string s(pur.substr(pos+1)); sdir.append("/");
sdir.append(s); QString qsdir = QString(QString::fromLocal8Bit(sdir.c_str())); qDebug()<<qsdir<<endl; if (QFile::copy(purposelist[i], qsdir)) { { if(QFile::copy(purposelist[i],toDir)) qDebug() << QStringLiteral("复制成功"); } } } }
QStringList fllemanage::findALLfiles(const QString &dir_path) { QStringList get_files; QDir dir(dir_path); if (!dir.exists()) { qDebug() << "it is not true dir_path"; }
QDirIterator dir_iterator(dir_path, QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
while (dir_iterator.hasNext()) { dir_iterator.next(); QFileInfo file_info = dir_iterator.fileInfo(); QString files = file_info.absoluteFilePath(); get_files.append(files); }
return get_files; }
|