QFile和QDir

    QString file("D:/Qtpractise/014.jpg");
    QFile::copy(file,"F:/014.jpg");
    //结果:将D:/Qtpractise/014.jpg复制到F盘下,如果D:/Qtpractise下没有014.jpg,则不能完成复制
 
 
    QString fileName("haha.txt") ;//定义字符串
 QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
                                                      "/home",
                                                   QFileDialog::ShowDirsOnly
                                                      | QFileDialog::DontResolveSymlinks);
    qDebug()<<dir;
    //输出所选文件保存路径,如:输出D:/Qtpractise
    QFile file(dir+"/"+fileName);
    file.open(QFile::WriteOnly);
    //由用户选定路径后,在该路径建立文件haha.txt
 
 
 
    QFileInfo fi("D:/Qtpractise/014.jpg");
    qDebug()<<fi.absoluteFilePath();
    qDebug()<<fi.filePath();
    qDebug()<<fi.fileName();
    //输出如下:
    //"D:/Qtpractise/014.jpg" 
    //"D:/Qtpractise/014.jpg" 
    //"014.jpg"
 
 
    QDir mDir("D:/Qtpractise");
    qDebug()<<mDir.exists();     //如果路径D:/Qtpractise存在,则输出true,不存在则输出false
    qDebug()<<mDir.absoluteFilePath("014.jpg");    //无论路径mDir是否存在,均输出"D:/Qtpractise/014.jpg"
    qDebug()<<mDir.dirName();    //无论路径mDir是否存在,均输出当前目录名,"Qtpractise"
    QDir d;
    QString str("D:/Qtpractise");
    d.rmdir(str);		//删除空文件夹Qtpractise
 
 
    QString file("D:/Qtpractise/014.jpg");
    qDebug()<<QFile::exists(file);//如果D:/Qtpractise文件夹下文件014.jpg存在,则输出true,不存在则输出false
    qDebug()<<QFile::remove(file);//删除D:/Qtpractise文件夹下文件014.jpg,成功则输出true,失败输出false
 
 
    //先在工程文件夹下建立文件123.txt,并写入一些东西
    QFile file("123.txt");
    if(!file.open(QIODevice::ReadOnly))
    {
         qDebug()   << "Cannot open file for Reading";
            return ;
    }
    QString str (file.readAll());	//读取文件
    QString strlatin1 = QObject::tr(str.toLatin1().data());
    file.close();
    qDebug()<<strlatin1;			//输出刚才在123.txt里写入的东西,可输出中文
 
 
    QFile file("123.txt");
    QString str = "嗯嗯";
    QString string= QObject::tr(str.toLatin1().data());
    QByteArray byte=QTextCodec::codecForName("GBK")->fromUnicode(string)+"\r\n";		//行末的"\r\n"是换行,相当于C语言中的"\n"
    file.open(QIODevice::Append);    //如果Append换成WriteOnly的话,文件123.txt中之前的内容将被字符串str覆盖
    file.write(byte);		//往文件123.txt中写入字符串“嗯嗯”
    file.close();
 
 

你可能感兴趣的:(QFile)