一、功能介绍
实际项目中经常需要获取当前系统磁盘或者指定磁盘的使用情况,下面使用QT里的QStorageInfo 类获取磁盘信息,得到磁盘容量和使用情况。
void MainWindow::GetDiskInfo() { //获取当前系统盘(Linux系统就是根目录)的磁盘情况 QStorageInfo ROM = QStorageInfo::root(); ROM.refresh(); //获得最新磁盘信息 qDebug() <<"文件系统路径:"<<ROM.rootPath(); if(ROM.isReadOnly())qDebug() << "只读文件系统:" << ROM.isReadOnly(); qDebug() << "文件系统类型:" << ROM.fileSystemType(); qDebug() << "总大小:" << ROM.bytesTotal()/1024/1024/1024 << "GB"; qDebug() << "可用空间:" << ROM.bytesAvailable()/1024/1024/1024 << "GB"; //获取指定目录的磁盘情况,直接设置路径即可 QStorageInfo SD; SD.setPath("/mnt/hgfs/linux-share-dir/QT"); SD.refresh(); //获得最新磁盘信息 qDebug() <<"文件系统路径:"<< SD.rootPath(); if(SD.isReadOnly())qDebug() << "只读文件系统:" << SD.isReadOnly(); qDebug() << "文件系统类型:" << SD.fileSystemType(); qDebug() << "总大小:" << SD.bytesTotal()/1024/1024/1024 << "GB"; qDebug() << "可用空间:" << SD.bytesAvailable()/1024/1024/1024 << "GB"; }
三、运行结果
文件系统路径: "/" 文件系统类型: "ext4" 总大小: 48 GB 可用空间: 12 GB 文件系统路径: "/mnt/hgfs" 文件系统类型: "fuse.vmhgfs-fuse" 总大小: 225 GB 可用空间: 28 GB