当前位置:   article > 正文

Qt 中文件操作_qt怎么删除资源文件

qt怎么删除资源文件

Qt中文件的操作一般使用的是QFile类。QFile是一种用于读取和写入文本、二进制文件和资源的I/O设备。QFile可以单独使用,或者更方便地与QTextStream或QDataStream一起使用。可进行文件的读写,拷贝。删除等操作。

文件路径可以通过构造函数的参数和函数setFileName()设置文件路径。QFile要求文件分隔符为“/”,与操作系统无关。不支持使用其他分隔符(例如“\”)。也可以使用exists()检查文件是否存在,使用remove()删除文件。(QFileInfo和QDir提供了更高级的文件系统相关操作。)

该文件使用open()打开,使用close()关闭,并使用flush()刷新。

数据的读写一般需要使用QDataStream或QTextStream进行读取和写入。也可以调用QIODevice继承的函数read()、readLine()、readAll()和write()。QFile还继承了getChar()、putChar()和ungetChar(),它们一次处理一个字符,size()返回文件的大小。您可以使用pos()获取当前文件位置,也可以使用seek()移动到新文件位置。如果已经到达文件的末尾,atEnd()将返回true。

文件的拷贝和删除直接则调用QFile中的copy()和remove()函数实现。

使用流读写文件

QTextStream负责将存储在磁盘上的8位数据转换为16位Unicode QString。默认情况下,它假设使用用户系统的本地8位编码(例如,在大多数基于unix的操作系统上使用UTF-8;有关详细信息,请参阅QTextCodec::codecForLocale())。这可以使用QTextStream::setCodec()进行更改。

文件操作流程

1、创建QFile对象,并引入文件路径。

2、使用open()函数打开文件,并设置文件权限。

3、将文件和QTextStream流绑定。

4、使用QTextStream流的函数、<<、>>进行文件的读写操作。

5、使用close()函数关闭文件。

例如:

    QString path = m_dir.path()+"ceshi.txt";
    QFile file(path);
    QDir dir;
    QTextStream textsteam;

    file.open(QIODevice::ReadWrite | QIODevice::Text);
    textsteam.setDevice(&file);

    QString str = "通过流写入文字到文件中";
    textsteam<<str;
    textsteam>>str;
    qDebug()<<str;
	file.close();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

以上代码是通过QTextStream流获取文件中的一行数据。当然QTextStream可以通过以下函数获取文本中的内容。

    qDebug()<<textsteam.readAll();
    qDebug()<<textsteam.readLine();
  • 1
  • 2

关于QFile和QTextStream中详细的使用参考QT官方文档。

使用继承函数读取文件内容

1、创建QFile对象,并传入文件路径。

2、使用open()函数打开文件。

3、使用QFile父类中readLine和readAll函数获取相关的数据,使用write向文件中写入相关内容。

4、使用Close()函数关闭文件

    QString path = m_dir.path()+"ceshi.txt";
    QFile file(path);
    QDir dir;
    QTextStream textsteam;

    file.open(QIODevice::ReadWrite | QIODevice::Text);
    char* str = "君看今年树上花,不是去年枝上朵";
    
    //向文件中写入内容
    file.write(str);
    
    //通过readLine获取文件中一行的内容
    char* output = new char[1024];
    file.readLine(output,1024);

    //获取整个文件内容,返回值为字节数组,读取字符文字不建议使用。
    QByteArray tr = file.readAll();
    qDebug()<<tr;
	file.close();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/652671
推荐阅读
相关标签
  

闽ICP备14008679号