QFile和QDir

24 篇文章 0 订阅
    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
    dir.mkdir("mydir");		//在D:/Qtpractise文件夹下新建文件夹mydir 
    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();
 

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值