【QT】QT文件处理

【QT】QT文件处理,第1张

【QT】QT文件处理 文件处理

QFile类用于文件 *** 作,它提供了读写文件的接口,可以读写文件、二进制文件和Qt资源文件。

处理文本文件和二进制文件,可以使用QTextStream类和QDataStream类。处理临时文件可以使用QTemporaryFile,获取信息可以使用QFileInfo,处理目录可以使用QDir,监视文件和目录变化可以使用QFileSystemWatcher。

QFile类示例

#include 
#include
#include
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    //文件读取
   QFile file("hello.txt");
   if(file.open(QIODevice::ReadOnly))
   {
       char buffer[100];
       qint32 n = file.readLine(buffer,sizeof(buffer));
       if(n != -1)
       {
            qDebug()< 

*** 作二进制文件

#include 
#include
#include
#include
#include
int main(int argc, char *argv[])
{
    //往文件中写入数据
    QCoreApplication a(argc, argv);

     QFile  binFile("info.bat");
     if(binFile.open(QIODevice::Writeonly | QIODevice::Truncate))
     {
         QDataStream out(&binFile);
         out<>Name>>NowTime>>Age;
         qDebug()< 

示例:获取文件信息

void FileInfo::getFileInfo(QString &fileName)
{
    //通过这个类来获取文件的信息
    QFileInfo info(fileName);
    qint64 size = info.size();//获取文件大小
    QDateTime createTime = info.created();//获取文件创建时间
    QDateTime lastModTime = info.lastModified();//获取文件最后一次被的修改的时间
    QDateTime lasReadTime = info.lastRead();//获取文件最后一次被读取的时间
    //文件的属性信息
    bool isDir = info.isDir();//是不是目录
    bool isFile = info.isFile();//是不是文件
    bool isSymlink = info.isSymlink();//是不是链接
    bool isHid = info.isHidden();//是否隐藏
    bool isReadable = info.isReadable();//是否可读
    bool isWritable = info.isWritable();//是否可写
    bool isExcutable = info.isExecutable();//是否可执行

    //根据读取信息设置控件信息
    ui->FileSizeLineEdit->setText(QString::number(size));//整型转字符串
    ui->CreateTimeLineEdit->setText(createTime.toString());//QDate转字符串
    ui->LastModTimeLineEdit->setText(lastModTime.toString());
    ui->LastCheckTimeLineEdit->setText(lasReadTime.toString());
    ui->isDirCheckBox->setChecked(isDir);
    ui->isFileCheckBox->setChecked(isFile);
    ui->isExecutableCheckBox->setChecked(isExcutable);
    ui->isSymlinkCheckBox->setChecked(isSymlink);
    ui->isHiddenCheckBox->setChecked(isHid);
    ui->isWritableCheckBox->setChecked(isWritable);
    ui->isReadableCheckBox->setChecked(isReadable);

}

void FileInfo::on_browerFileBtn_clicked()
{
    //选择文件
    QString fileName = QFileDialog::getOpenFileName(this,"打开文件",".","files(*)");
     //选择目录QString path = QFileDialog::getExistingDirectory(this,"选择目录",".");
    ui->FileNameLineEdit->setText(fileName);//文件名(带路径的)
    getFileInfo(fileName);
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5713608.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存