我的主页

快递查询 :http://m.kuaidi100.com     爱快递查询 :http://www.aikuaidi.cn/              

http://www.qtcn.org/bbs/u/168050  [收藏] [复制]

w642833823

  • 10

    关注

  • 68

    粉丝

  • 42

    访客

  • 等级:新手上路
  • 总积分:43
  • 保密,2011-12-07

最后登录:2024-04-28

更多资料

日志

记录将QStringList的内容写入txt

2022-11-06 14:33
1.带绝对路径
  1. QString video_File;
        //mnt/sdcard/


                    //将路径写入video.txt
                    QString name_file="video.txt";
                    QFileInfo   fileInfo;
                    QString Path;
                     QString filter="视频文件(*.mp4  *.wmv);;mp3文件(*.mp4);;;wmv文件(*.wmv);;所有文件(*.*)"; //文件过滤器
           QStringList fileList=QFileDialog::getOpenFileNames(this,"选择视频文件","/home",filter);


                          if (fileList.count()<1)
                              return;


                          for (int i=0; i<fileList.count();i++)
                          {
    video_File=QString("'%1'\n").arg(fileList.at(i));//得到绝对路径
    video_File.insert(0, QString("file\t"));//在开头添加字符
                             Path = QCoreApplication::applicationDirPath()+"/"+name_file;//路径
                             QDir dir3;


                                 //如果指定的路径不存在时
                                if(dir3.exists(Path))
                                {


                                    dir3.mkpath(Path);//创建目录所需的所有父目录
                                    qDebug()<<"路径创建成功";


                                }
                                QFile file;
                                     file.setFileName(Path);
                                bool bOk = file.open(QIODevice::ReadWrite | QIODevice::Append);//以读写切追加写入的方式操作文本
                                      if(bOk)
    {
                                           QByteArray res2 =video_File.toUtf8();//toUtf8()转为QByteArray


                                           file.write(res2);


                                      }
                                    file.close();






                          }


        ui->plainTextEdit->clear();


        this->He_Bing(name_file);
        QString data;
        QFile file(Path); //path是文件的路径
        if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
        {
            qDebug()<<"文件未打开!";
        }
        while(!file.atEnd())
        {
            QByteArray array = file.readLine();
            QString str(array);
           // qDebug()<< str;
            data.append(str);
        }
        ui->plainTextEdit->appendPlainText(data);
      txt内容如下:
                       file    '/home/temp/bin/2.mp4'
                       file    '/home/temp/bin/1.mp4'
                       file    '/home/temp/bin/0.mp4'
2.去除路径
  1.     QString Widget::He_Bing(QString file_path)
    {

    //ffmpeg -f concat -i filelist.txt -c copy output.mp4
        QString strCmd=QString("ffmpeg -f concat -i %1 -c copy output.mp4").arg(file_path);

        qDebug()<<"地址传来:"<<strCmd;
        QProcess process;
       // process.setWorkingDirectory(ffmpeg_path);
        // process.setReadChannel(QProcess::StandardOutput);
        process.start(strCmd);
        process.waitForFinished();
    qDebug()<<"返回数据:"<<process.readAll();
        return process.readAll();
    }



    void Widget::on_he_bin_clicked()
    {
        QString video_File;
            //mnt/sdcard/


                        //将路径写入video.txt
                        QString name_file="video.txt";
                        QFileInfo   fileInfo;
                        QString Path;
                         QString filter="视频文件(*.mp4  *.wmv);;mp3文件(*.mp4);;;wmv文件(*.wmv);;所有文件(*.*)"; //文件过滤器
               QStringList fileList=QFileDialog::getOpenFileNames(this,"选择视频文件","/home",filter);


                              if (fileList.count()<1)
                                  return;


                              for (int i=0; i<fileList.count();i++)
                              {
                                  QFileInfo   fileInfo;
                                  fileInfo=fileList.at(i);//去除路径
                                  video_File=QString("file '%1.mp4'\n").arg(fileInfo.baseName());//在开头添加字符

                                 Path = QCoreApplication::applicationDirPath()+"/"+name_file;//路径
                                 QDir dir3;


                                     //如果指定的路径不存在时
                                    if(dir3.exists(Path))
                                    {


                                        dir3.mkpath(Path);//创建目录所需的所有父目录
                                        qDebug()<<"路径创建成功";


                                    }
                                    QFile file;
                                         file.setFileName(Path);
                                    bool bOk = file.open(QIODevice::ReadWrite | QIODevice::Append);//以读写切追加写入的方式操作文本
                                          if(bOk)
        {

                                               QByteArray res2 =video_File.toUtf8();//toUtf8()转为QByteArray


                                               file.write(res2);


                                          }
                                        file.close();






                              }


            ui->plainTextEdit->clear();



            QString data;
            QFile file(Path); //path是文件的路径
            if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
            {
                qDebug()<<"文件未打开!";
            }
            while(!file.atEnd())
            {
                QByteArray array = file.readLine();
                QString str(array);
               // qDebug()<< str;
                data.append(str);
            }
            ui->plainTextEdit->appendPlainText(data);
        this->He_Bing(name_file);


    }





       txt内容如下:                    
                       file    '2.mp4'
                       file    '1.mp4'
                       file    '0.mp4'

分类:QT|回复:0|浏览:356|全站可见|转载
 

Powered by phpwind v8.7 Certificate Copyright Time now is:04-29 01:06
©2005-2016 QTCN开发网 版权所有 Gzip disabled