QStorageInfo Class
현재 마운트된 저장 장치 및 드라이브에 대한 정보를 제공합니다. 더 보기...
| 헤더: | #include <QStorageInfo> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- 상속된 멤버를 포함한 모든 멤버 목록
- QStorageInfo는 입출력 및 네트워킹, 그리고 암시적 공유 클래스의 일부입니다.
QStorageInfo 비교
| 범주 | 비교 가능한 유형 |
|---|---|
| 동등성 | QStorageInfo |
공개 함수
| QStorageInfo() | |
| QStorageInfo(const QDir &dir) | |
| QStorageInfo(const QString &path) | |
| QStorageInfo(const QStorageInfo &other) | |
(since 6.10) | QStorageInfo(QStorageInfo &&other) |
| ~QStorageInfo() | |
| int | blockSize() const |
| qint64 | bytesAvailable() const |
| qint64 | bytesFree() const |
| qint64 | bytesTotal() const |
| QByteArray | device() const |
| QString | displayName() const |
| QByteArray | fileSystemType() const |
| bool | isReadOnly() const |
| bool | isReady() const |
| bool | isRoot() const |
| bool | isValid() const |
| QString | name() const |
| void | refresh() |
| QString | rootPath() const |
| void | setPath(const QString &path) |
| QByteArray | subvolume() const |
| void | swap(QStorageInfo &other) |
| QStorageInfo & | operator=(QStorageInfo &&other) |
| QStorageInfo & | operator=(const QStorageInfo &other) |
정적 공용 멤버
| QList<QStorageInfo> | mountedVolumes() |
| QStorageInfo | root() |
관련 비멤버
| bool | operator!=(const QStorageInfo &lhs, const QStorageInfo &rhs) |
| bool | operator==(const QStorageInfo &lhs, const QStorageInfo &rhs) |
상세 설명
볼륨의 용량, 마운트 지점, 레이블 및 파일 시스템 이름에 대한 정보를 조회할 수 있습니다.
QStorageInfo 인스턴스는 생성자 매개변수로 볼륨의 마운트 지점 경로를 전달하여 생성하거나, ` setPath()` 메서드를 사용하여 설정할 수 있습니다. 정적 메서드 ` mountedVolumes()`를 사용하면 마운트된 모든 파일 시스템의 목록을 가져올 수 있습니다.
QStorageInfo는 검색된 정보를 항상 캐시에 저장하지만, refresh()를 호출하여 캐시를 무효화할 수 있습니다.
다음 예제는 시스템의 루트 볼륨에 대한 가장 일반적인 정보를 가져와 해당 정보를 출력합니다.
QStorageInfo storage = QStorageInfo::root();
qDebug() << storage.rootPath();
if (storage.isReadOnly())
qDebug() << "isReadOnly:" << storage.isReadOnly();
qDebug() << "name:" << storage.name();
qDebug() << "fileSystemType:" << storage.fileSystemType();
qDebug() << "size:" << storage.bytesTotal()/1000/1000 << "MB";
qDebug() << "availableSize:" << storage.bytesAvailable()/1000/1000 << "MB";멤버 함수 설명서
QStorageInfo::QStorageInfo()
빈 QStorageInfo 객체를 생성합니다.
기본 생성자로 생성된 객체는 유효하지 않으므로 사용할 준비가 되어 있지 않습니다.
setPath(), isReady() 및 isValid()도 참조하십시오 .
[explicit] QStorageInfo::QStorageInfo(const QDir &dir)
dir 폴더가 포함된 볼륨에 대한 정보를 제공하는 새로운 QStorageInfo 객체를 생성합니다.
[explicit] QStorageInfo::QStorageInfo(const QString &path)
path 에 마운트된 볼륨에 대한 정보를 제공하는 새로운 QStorageInfo 객체를 생성합니다.
디렉터리나 파일을 전달하면, QStorageInfo 객체는 해당 디렉터리나 파일이 위치한 볼륨을 참조합니다. isValid() 메서드를 사용하여 생성된 객체가 올바른지 확인할 수 있습니다.
다음 예제는 애플리케이션이 위치한 볼륨을 가져오는 방법을 보여줍니다. 볼륨이 준비되어 있고 유효한지 항상 확인하는 것이 좋습니다.
QStorageInfo storage(qApp->applicationDirPath());
if (storage.isValid() && storage.isReady()) {
// ...
}setPath()도 참조하십시오 .
QStorageInfo::QStorageInfo(const QStorageInfo &other)
other 의 QStorageInfo 객체의 복사본인 새로운 QStorageInfo 객체를 생성합니다.
[constexpr noexcept default, since 6.10] QStorageInfo::QStorageInfo(QStorageInfo &&other)
other 에서 새로운 QStorageInfo를 이동 생성합니다.
이동된 객체 ` other `는 부분적으로 형성된 상태로 전환되며, 이 상태에서는 소멸과 새 값 할당만이 유효한 연산입니다.
이 함수는 Qt 6.10에서 도입되었습니다.
[noexcept] QStorageInfo::~QStorageInfo()
QStorageInfo 객체를 삭제하고 해당 리소스를 해제합니다.
int QStorageInfo::blockSize() const
이 파일 시스템에 대한 최적의 전송 블록 크기를 반환합니다.
QStorageInfo 가 크기를 확인할 수 없거나 QStorageInfo 객체가 유효하지 않은 경우 -1을 반환합니다.
qint64 QStorageInfo::bytesAvailable() const
현재 사용자가 사용할 수 있는 용량(바이트 단위)을 반환합니다. 사용자가 루트 사용자나 시스템 관리자인 경우, 사용할 수 있는 총 용량을 반환합니다.
이 크기는 ` bytesFree()` 함수가 반환하는 사용 가능한 공간보다 작거나 같을 수 있습니다.
QStorageInfo 객체가 유효하지 않은 경우 -1을 반환합니다.
bytesTotal() 및 bytesFree()함수도 참조하십시오 .
qint64 QStorageInfo::bytesFree() const
볼륨 내의 여유 바이트 수를 반환합니다. 파일 시스템에 할당량 제한이 설정되어 있는 경우, 이 값은 bytesAvailable() 함수가 반환하는 값보다 클 수 있습니다.
QStorageInfo 객체가 유효하지 않은 경우 -1을 반환합니다.
bytesTotal() 및 bytesAvailable()도 참조하십시오 .
qint64 QStorageInfo::bytesTotal() const
총 볼륨 크기를 바이트 단위로 반환합니다.
QStorageInfo 객체가 유효하지 않은 경우 -1을 반환합니다.
bytesFree() 및 bytesAvailable()도 참조하십시오 .
QByteArray QStorageInfo::device() const
이 볼륨에 해당하는 장치를 반환합니다.
예를 들어, Unix 파일 시스템(macOS 포함)에서는 로컬 저장소의 경우 /dev/sda0 과 같은 devpath를 반환합니다. Windows에서는 로컬 저장소의 경우 \\\\?\\ 으로 시작하는 UNC 경로(즉, 볼륨 GUID)를 반환합니다.
rootPath() 및 subvolume()도 참조하십시오 .
QString QStorageInfo::displayName() const
사용 가능한 경우 볼륨의 이름을 반환하고, 그렇지 않은 경우 루트 경로를 반환합니다.
QByteArray QStorageInfo::fileSystemType() const
파일 시스템의 유형 이름을 반환합니다.
이 함수는 플랫폼에 따라 달라지며, 파일 시스템 이름은 운영 체제에 따라 다를 수 있습니다. 예를 들어, Windows 파일 시스템에서는 NTFS 로 명명될 수 있고, Linux에서는 ntfs-3g 또는 fuseblk 로 명명될 수 있습니다.
name()도 참조하십시오 .
bool QStorageInfo::isReadOnly() const
현재 파일 시스템이 쓰기 보호 상태이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
bool QStorageInfo::isReady() const
현재 파일 시스템이 작동 가능한 상태이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 예를 들어, CD 볼륨이 삽입되어 있지 않으면 false가 반환됩니다.
fileSystemType(), name(), bytesTotal(), bytesFree() 및 bytesAvailable() 함수는 볼륨이 준비될 때까지 유효하지 않은 데이터를 반환한다는 점에 유의하십시오.
isValid()도 참조하십시오 .
bool QStorageInfo::isRoot() const
이 ` QStorageInfo `가 시스템 루트 볼륨을 나타내는 경우 `true`를 반환하고, 그렇지 않은 경우 `false`를 반환합니다.
Unix 파일 시스템에서 루트 볼륨은 / 에 마운트된 볼륨입니다. Windows에서는 루트 볼륨이 OS가 설치된 볼륨입니다.
root()도 참조하십시오 .
bool QStorageInfo::isValid() const
rootPath 로 지정된 QStorageInfo 가 존재하고 올바르게 마운트되어 있으면 true를 반환합니다.
isReady()도 참조하십시오 .
[static] QList<QStorageInfo> QStorageInfo::mountedVolumes()
현재 마운트된 파일 시스템 목록에 해당하는 ` QStorageInfo ` 객체 목록을 반환합니다.
Windows에서는 ‘내 컴퓨터 ’ 폴더에 표시되는 드라이브를 반환합니다. Unix 운영 체제에서는 (의사 파일 시스템은 제외하고) 마운트된 모든 파일 시스템의 목록을 반환합니다.
기본적으로 현재 마운트된 모든 파일 시스템을 반환합니다.
이 예제는 읽기 전용 파일 시스템을 제외하고 사용 가능한 모든 파일 시스템을 가져오는 방법을 보여줍니다.
foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes()) {
if (storage.isValid() && storage.isReady()) {
if (!storage.isReadOnly()) {
// ...
}
}
}root()도 참조하십시오 .
QString QStorageInfo::name() const
파일 시스템의 사람이 읽을 수 있는 이름을 반환합니다. 일반적으로 ‘ label ’라고 불립니다.
모든 파일 시스템이 이 기능을 지원하는 것은 아닙니다. 이 경우, 이 메서드가 반환하는 값은 비어 있을 수 있습니다. 파일 시스템이 레이블을 지원하지 않거나 레이블이 설정되어 있지 않은 경우, 빈 문자열이 반환됩니다.
리눅스에서 볼륨 레이블을 가져오려면 시스템에 ` udev `이 설치되어 있어야 합니다.
fileSystemType()도 참조하십시오 .
void QStorageInfo::refresh()
QStorageInfo 의 내부 캐시를 초기화합니다.
QStorageInfo 저장소 관련 정보를 캐시하여 성능을 향상시킵니다. ` QStorageInfo `는 객체 생성 시 및/또는 ` setPath()` 메서드를 호출할 때 정보를 가져옵니다. 저장소 정보를 업데이트하려면 이 함수를 호출하여 캐시를 수동으로 재설정해야 합니다.
[static] QStorageInfo QStorageInfo::root()
시스템 루트 볼륨을 나타내는 ` QStorageInfo ` 객체를 반환합니다.
Unix 시스템에서는 이 호출이 루트('/') 볼륨을 반환하고, Windows에서는 운영 체제가 설치된 볼륨을 반환합니다.
isRoot()도 참조하십시오 .
QString QStorageInfo::rootPath() const
이 QStorageInfo 객체가 나타내는 파일 시스템의 마운트 지점을 반환합니다.
Windows에서는 볼륨이 디렉터리에 마운트되지 않은 경우 볼륨 문자를 반환합니다.
rootPath()가 반환하는 값은 볼륨의 실제 마운트 지점이며, 생성자나 setPath() 메서드에 전달된 값과 다를 수 있습니다. 예를 들어, 시스템에 루트 볼륨만 있고 setPath()에 '/directory'를 전달한 경우, 이 메서드는 '/'를 반환합니다.
setPath() 및 device()도 참조하십시오 .
void QStorageInfo::setPath(const QString &path)
이 QStorageInfo 객체를 path 가 위치한 마운트된 파일 시스템으로 설정합니다.
path 는 파일 시스템의 루트 경로, 디렉터리 또는 해당 파일 시스템 내의 파일일 수 있습니다.
rootPath()도 참조하십시오 .
QByteArray QStorageInfo::subvolume() const
이 볼륨의 서브볼륨 이름을 반환합니다.
일부 파일 시스템 유형은 하나의 장치 내에 여러 개의 서브볼륨을 허용하며, 이러한 서브볼륨은 서로 다른 경로에 마운트될 수 있습니다(예: 유닉스의 'bind' 마운트 또는 Btrfs 파일 시스템의 서브볼륨). 서브볼륨을 감지할 수 있는 경우, 이 함수는 해당 이름을 반환합니다. 서브볼륨 이름의 형식은 각 파일 시스템 유형에 따라 다릅니다.
이 볼륨이 더 큰 파일 시스템의 서브볼륨에서 마운트되지 않았거나 서브볼륨을 감지할 수 없는 경우, 이 함수는 빈 바이트 배열을 반환합니다.
device()함수도 참조하십시오 .
[noexcept] void QStorageInfo::swap(QStorageInfo &other)
other 와 이 볼륨 정보를 교환합니다. 이 작업은 매우 빠르며 절대 실패하지 않습니다.
[noexcept] QStorageInfo &QStorageInfo::operator=(QStorageInfo &&other)
other 를 이 QStorageInfo 인스턴스에 이동-할당합니다.
이동된 객체 other 는 유효하지만, 구체적으로는 지정되지 않은 상태로 설정됩니다.
QStorageInfo &QStorageInfo::operator=(const QStorageInfo &other)
QStorageInfo 객체 other 의 복사본을 생성하여 이 QStorageInfo 객체에 할당합니다.
관련 비멤버
[noexcept] bool operator!=(const QStorageInfo &lhs, const QStorageInfo &rhs)
QStorageInfo 객체 lhs 가 QStorageInfo 객체 rhs 과 다른 드라이브나 볼륨을 가리키는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.
[noexcept] bool operator==(const QStorageInfo &lhs, const QStorageInfo &rhs)
QStorageInfo 객체 lhs 가 QStorageInfo 객체 rhs 와 동일한 드라이브 또는 볼륨을 가리키는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.
두 개의 유효하지 않은 QStorageInfo 객체를 비교한 결과는 항상 양수임을 유의하십시오.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.