이 페이지에서

QFileInfo Class

QFileInfo 클래스는 파일 시스템 항목에 대한 정보를 가져오기 위한 OS에 구애받지 않는 API를 제공합니다. 더 보기...

헤더: #include <QFileInfo>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

참고: 이 클래스의 모든 함수는 재진입 가능합니다.

QFileInfo 비교

범주비교 가능한 유형
동등성QFileInfo

공개 함수

QFileInfo()
QFileInfo(const QFileDevice &file)
QFileInfo(const QString &path)
(since 6.0) QFileInfo(const std::filesystem::path &file)
QFileInfo(const QDir &dir, const QString &path)
(since 6.0) QFileInfo(const QDir &dir, const std::filesystem::path &path)
QFileInfo(const QFileInfo &fileinfo)
(since 6.12) QFileInfo(QFileInfo &&other)
~QFileInfo()
QDir absoluteDir() const
QString absoluteFilePath() const
QString absolutePath() const
QString baseName() const
QDateTime birthTime() const
(since 6.6) QDateTime birthTime(const QTimeZone &tz) const
QString bundleName() const
bool caching() const
QString canonicalFilePath() const
QString canonicalPath() const
QString completeBaseName() const
QString completeSuffix() const
QDir dir() const
bool exists() const
QString fileName() const
QString filePath() const
QDateTime fileTime(QFileDevice::FileTime time) const
(since 6.6) QDateTime fileTime(QFileDevice::FileTime time, const QTimeZone &tz) const
(since 6.0) std::filesystem::path filesystemAbsoluteFilePath() const
(since 6.0) std::filesystem::path filesystemAbsolutePath() const
(since 6.0) std::filesystem::path filesystemCanonicalFilePath() const
(since 6.0) std::filesystem::path filesystemCanonicalPath() const
(since 6.0) std::filesystem::path filesystemFilePath() const
(since 6.2) std::filesystem::path filesystemJunctionTarget() const
(since 6.0) std::filesystem::path filesystemPath() const
(since 6.6) std::filesystem::path filesystemReadSymLink() const
(since 6.0) std::filesystem::path filesystemSymLinkTarget() const
QString group() const
uint groupId() const
bool isAbsolute() const
(since 6.4) bool isAlias() const
bool isBundle() const
bool isDir() const
bool isExecutable() const
bool isFile() const
bool isHidden() const
bool isJunction() const
bool isNativePath() const
(since 6.10) bool isOther() const
bool isReadable() const
bool isRelative() const
bool isRoot() const
bool isShortcut() const
bool isSymLink() const
bool isSymbolicLink() const
bool isWritable() const
(since 6.2) QString junctionTarget() const
QDateTime lastModified() const
(since 6.6) QDateTime lastModified(const QTimeZone &tz) const
QDateTime lastRead() const
(since 6.6) QDateTime lastRead(const QTimeZone &tz) const
bool makeAbsolute()
QDateTime metadataChangeTime() const
(since 6.6) QDateTime metadataChangeTime(const QTimeZone &tz) const
QString owner() const
uint ownerId() const
QString path() const
bool permission(QFileDevice::Permissions permissions) const
QFileDevice::Permissions permissions() const
(since 6.6) QString readSymLink() const
void refresh()
void setCaching(bool enable)
void setFile(const QString &path)
(since 6.0) void setFile(const std::filesystem::path &path)
void setFile(const QFileDevice &file)
void setFile(const QDir &dir, const QString &path)
qint64 size() const
(since 6.0) void stat()
QString suffix() const
void swap(QFileInfo &other)
QString symLinkTarget() const
QFileInfo &operator=(QFileInfo &&other)
QFileInfo &operator=(const QFileInfo &fileinfo)

정적 공용 멤버

bool exists(const QString &path)
QFileInfoList
bool operator!=(const QFileInfo &lhs, const QFileInfo &rhs)
bool operator==(const QFileInfo &lhs, const QFileInfo &rhs)

매크로

상세 설명

QFileInfo는 파일 시스템 항목에 대한 정보(예: 이름, 경로, 접근 권한, 일반 파일·디렉터리·심볼릭 링크 여부 등)를 제공합니다. 항목의 크기와 마지막 수정/읽기 시간도 확인할 수 있습니다. 또한 QFileInfo를 사용하여 Qt 리소스에 대한 정보를 얻을 수도 있습니다.

QFileInfo는 절대 경로나 상대 경로를 사용하여 파일 시스템 항목을 가리킬 수 있습니다:

  • 유닉스에서는 절대 경로가 디렉터리 구분자 '/' 로 시작합니다. 윈도우에서는 절대 경로가 드라이브 지정자(예: D:/)로 시작합니다.
  • 상대 경로는 디렉터리 이름이나 일반 파일 이름으로 시작하며, 현재 작업 디렉터리를 기준으로 한 파일 시스템 항목의 경로를 지정합니다.

절대 경로의 예로는 "/tmp/quartz" 와 같은 문자열이 있습니다. 상대 경로는 "src/fatlib" 와 같은 형태일 수 있습니다. isRelative() 함수를 사용하여 QFileInfo가 상대 경로를 사용하는지 절대 경로를 사용하는지 확인할 수 있습니다. makeAbsolute() 함수를 호출하여 상대 경로를 사용하는 QFileInfo의 경로를 절대 경로로 변환할 수 있습니다.

참고: 콜론(:)으로 시작하는경로는 항상 절대 경로로 간주됩니다. 이는 절대 경로( QResource)를 나타내기 때문입니다.

QFileInfo가 처리하는 파일 시스템 항목 경로는 생성자에서 설정되거나, 이후에 ` setFile()`를 통해 설정됩니다. ` exists()`를 사용하여 해당 항목이 실제로 존재하는지 확인하고, ` size()`를 사용하여 그 크기를 확인할 수 있습니다.

파일 시스템 항목의 유형은 isFile(), isDir() 및 isSymLink()을 통해 확인할 수 있습니다. symLinkTarget() 함수는 심볼릭 링크가 가리키는 대상의 절대 경로를 제공합니다.

파일 시스템 항목의 경로 요소는 path() 및 fileName()를 사용하여 추출할 수 있습니다. fileName()의 각 부분은 baseName(), suffix() 또는 completeSuffix()를 사용하여 추출할 수 있습니다. Qt 클래스에 의해 생성된 디렉터리를 참조하는 QFileInfo 객체에는 끝 디렉터리 구분자 '/' 가 포함되지 않습니다. 사용자 정의 파일 정보 객체에서 끝 구분자를 사용하려면, 생성자나 setFile()에 전달되는 항목의 경로 끝에 구분자를 추가하기만 하면 됩니다.

날짜 및 시간 관련 정보는 birthTime(), fileTime(), lastModified(), lastRead() 및 metadataChangeTime() 함수를 통해 반환됩니다. 접근 권한에 대한 정보는 isReadable(), isWritable() 및 isExecutable() 함수를 통해 얻을 수 있습니다. 소유권 정보는 owner(), ownerId(), group() 및 groupId()을 통해 확인할 수 있습니다. 또한 permission() 함수를 사용하면 단일 문장으로 권한과 소유권을 모두 확인할 수 있습니다.

유닉스(macOS 및 iOS 포함)에서는 유닉스가 심볼릭 링크를 투명하게 처리하기 때문에, 이 클래스의 속성 조회 함수는 심볼릭 링크 자체가 아닌 대상의 시간 정보 및 크기 등의 속성을 반환합니다. QFile 를 사용하여 심볼릭 링크를 열면 사실상 해당 링크의 대상이 열리게 됩니다. 예를 들어:

#ifdef Q_OS_UNIX

QFileInfo info1("/home/bob/bin/untabify");
info1.isSymLink();          // returns true
info1.absoluteFilePath();   // returns "/home/bob/bin/untabify"
info1.size();               // returns 56201
info1.symLinkTarget();      // returns "/opt/pretty++/bin/untabify"

QFileInfo info2(info1.symLinkTarget());
info2.isSymLink();          // returns false
info2.absoluteFilePath();   // returns "/opt/pretty++/bin/untabify"
info2.size();               // returns 56201

#endif

Windows에서는 현재 바로 가기(.lnk 파일)가 심볼릭 링크로 처리됩니다. 유닉스 시스템과 마찬가지로, 속성 게터는 .lnk 파일 자체가 아닌 대상의 크기를 반환합니다. 이 동작은 더 이상 권장되지 않으며, 향후 Qt 버전에서 제거될 예정입니다. 그 이후에는 .lnk 파일이 일반 파일로 처리될 것입니다.

#ifdef Q_OS_WIN

QFileInfo info1("C:\\Users\\Bob\\untabify.lnk");
info1.isSymLink();          // returns true
info1.absoluteFilePath();   // returns "C:/Users/Bob/untabify.lnk"
info1.size();               // returns 63942
info1.symLinkTarget();      // returns "C:/Pretty++/untabify"

QFileInfo info2(info1.symLinkTarget());
info2.isSymLink();          // returns false
info2.absoluteFilePath();   // returns "C:/Pretty++/untabify"
info2.size();               // returns 63942

#endif

NTFS 권한

NTFS 파일 시스템에서는 성능상의 이유로 소유권 및 권한 확인 기능이 기본적으로 비활성화되어 있습니다. 이 기능을 활성화하려면 다음 줄을 포함하십시오:

extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;

qt_ntfs_permission_lookup 값을 1씩 증가시키거나 감소시킴으로써 권한 확인 기능을 켜거나 끌 수 있습니다.

qt_ntfs_permission_lookup++; // turn checking on
qt_ntfs_permission_lookup--; // turn it off again

참고: 이 변수는 비원자적 전역변수이므로 , 메인 스레드 이외의 다른 스레드가 시작되기 전이나 메인 스레드 이외의 모든 스레드가 종료된 후에만 qt_ntfs_permission_lookup 의 값을 증가 또는 감소시키는 것이 안전합니다.

참고: Qt 6.6부터 qt_ntfs_permission_lookup 변수는 더 이상 사용되지 않습니다. 다음의 대체 방법을 사용해 주십시오.

권한 검사를 안전하고 쉽게 관리하는 방법은 RAII 클래스 ` QNtfsPermissionCheckGuard`를 사용하는 것입니다.

void complexFunction()
{
    QNtfsPermissionCheckGuard permissionGuard;  // check is enabled

    // do complex things here that need permission check enabled

}   // as the guard goes out of scope the check is disabled

보다 세밀한 제어가 필요한 경우, 대신 다음 함수를 사용하여 권한을 관리할 수 있습니다:

qAreNtfsPermissionChecksEnabled();   // 상태 확인
qEnableNtfsPermissionChecks();       // turn checking on
qDisableNtfsPermissionChecks();      // turn it off again

성능 관련 고려 사항

QFileInfo의 일부 함수는 파일 시스템을 조회해야 하지만, 성능상의 이유로 일부 함수는 경로 문자열만을 대상으로 작동합니다. 예를 들어, 상대 경로 항목의 절대 경로를 반환하려면 ` absolutePath()` 함수가 파일 시스템을 조회해야 합니다. 반면 ` path()` 함수는 파일 이름을 직접 처리할 수 있으므로 더 빠릅니다.

QFileInfo는 또한 참조하는 파일 시스템 항목에 대한 정보를 캐싱합니다. 파일 시스템은 다른 사용자나 프로그램, 심지어 동일한 프로그램의 다른 부분에 의해 변경될 수 있으므로, QFileInfo에 저장된 정보를 새로 고치는 함수인 refresh()가 있습니다. QFileInfo의 캐싱을 비활성화하려면(즉, 정보를 요청할 때마다 기본 파일 시스템에 쿼리를 보내도록 강제하려면), ` setCaching(false)`를 호출하십시오.

파일 시스템에서 정보를 가져오는 작업은 일반적으로 (비용이 많이 들 수 있는) 시스템 함수를 호출하여 수행되므로, QFileInfo는 (구현에 따라) 생성 시점에 파일 시스템에서 모든 정보를 가져오지 않을 수도 있습니다. 모든 정보가 파일 시스템에서 즉시 읽히도록 하려면 stat() 멤버 함수를 사용하십시오.

birthTime(), fileTime(), lastModified(), lastRead(), 및 metadataChangeTime() 은 기본적으로 현지 시간으로 시간을 반환합니다. 네이티브 파일 시스템 API는 일반적으로 UTC를 사용하므로, 이 경우 변환이 필요합니다. 현지 시간이 실제로 필요하지 않다면, QTimeZone::UTC 에서 직접 시간을 요청하여 이 과정을 생략할 수 있습니다.

플랫폼별 문제

Android에서 콘텐츠 URI를 다룰 때 다음과 같은 제한 사항이 적용됩니다:

QDir 및 QFile도 참조하십시오 .

멤버 함수 문서

QFileInfo::QFileInfo()

파일 시스템 항목을 참조하지 않는 빈 QFileInfo 객체를 생성합니다.

setFile()도 참조하십시오 .

[explicit] QFileInfo::QFileInfo(const QFileDevice &file)

file 파일에 대한 정보를 제공하는 새로운 QFileInfo 객체를 생성합니다.

file 에 상대 경로가 있는 경우, QFileInfo에도 상대 경로가 지정됩니다.

isRelative()도 참조하십시오 .

[explicit] QFileInfo::QFileInfo(const QString &path)

path 에 위치한 파일 시스템 항목에 대한 정보를 제공하는 QFileInfo 객체를 생성합니다. 여기서 는 절대 경로이거나 상대 경로일 수 있습니다.

path 가 상대 경로인 경우, QFileInfo에도 상대 경로가 포함됩니다.

setFile(), isRelative(), QDir::setCurrent(), QDir::isRelativePath()도 참조하십시오 .

[since 6.0] QFileInfo::QFileInfo(const std::filesystem::path &file)

지정된 ` file`에 대한 정보를 제공하는 새로운 `QFileInfo` 객체를 생성합니다.

이 함수는 Qt 6.0에서 도입되었습니다.

setFile(), isRelative(), QDir::setCurrent(), QDir::isRelativePath()도 참조하십시오 .

[explicit] QFileInfo::QFileInfo(const QDir &dir, const QString &path)

지정된 파일 시스템 항목 path 에 대한 정보를 제공하는 새로운 QFileInfo 객체를 생성하며, 이 항목은 디렉터리 dir 를 기준으로 상대 경로로 지정됩니다.

dir 에 상대 경로가 지정된 경우, QFileInfo에도 상대 경로가 지정됩니다.

path 가 절대 경로인 경우, dir 로 지정된 디렉터리는 무시됩니다.

isRelative()도 참조하십시오 .

[since 6.0] QFileInfo::QFileInfo(const QDir &dir, const std::filesystem::path &path)

dir 디렉터리를 기준으로 path 에 위치한 파일 시스템 항목에 대한 정보를 제공하는 새로운 QFileInfo 객체를 생성합니다.

dir 에 상대 경로가 지정된 경우, QFileInfo에도 상대 경로가 지정됩니다.

path 가 절대 경로인 경우, dir 로 지정된 디렉터리는 무시됩니다.

이 함수는 Qt 6.0에서 도입되었습니다.

QFileInfo::QFileInfo(const QFileInfo &fileinfo)

지정된 ` fileinfo`의 복사본인 새로운 `QFileInfo` 객체를 생성합니다.

[constexpr noexcept default, since 6.12] QFileInfo::QFileInfo(QFileInfo &&other)

other 에서 새로운 QFileInfo 객체를 이동 생성합니다.

참고: 이동된객체 ` other `는 부분적으로 형성된 상태가 되며, 이 상태에서는 소멸 및 새로운 값 할당만이 유효한 연산입니다.

이 함수는 Qt 6.12에서 도입되었습니다.

[noexcept] QFileInfo::~QFileInfo()

QFileInfo 를 삭제하고 해당 리소스를 해제합니다.

QDir QFileInfo::absoluteDir() const

이 QFileInfo 가 가리키는 파일 시스템 항목의 상위 디렉터리의 절대 경로를 나타내는 ` QDir ` 객체를 반환합니다.

// 현재 작업 디렉터리가 "/home/user/Documents/memos/"인 경우
QFileInfo info1(u"relativeFile"_s);
qDebug() << info1.absolutePath(); // "/home/user/Documents/memos/"
qDebug() << info1.baseName(); // "relativeFile"
qDebug() << info1.absoluteDir(); // QDir(u"/home/user/Documents/memos"_s)
qDebug() << info1.absoluteDir().path(); // "/home/user/Documents/memos"

// 디렉터리에 대한 QFileInfo
QFileInfo info2(u"/home/user/Documents/memos"_s);
qDebug() << info2.absolutePath(); // "/home/user/Documents"
qDebug() << info2.baseName(); // "memos"
qDebug() << info2.absoluteDir(); // QDir(u"/home/user/Documents"_s)
qDebug() << info2.absoluteDir().path(); // "/home/user/Documents"

dir(), filePath(), fileName(), isRelative()도 참조하십시오 .

QString QFileInfo::absoluteFilePath() const

QFileInfo 가 가리키는 파일 시스템 항목의 절대 전체 경로를, 항목의 이름을 포함하여 반환합니다.

유닉스에서는 절대 경로가 디렉터리 구분자 '/' 로 시작합니다. 윈도우에서는 절대 경로가 드라이브 지정(예: D:/)으로 시작합니다.

Windows에서는 드라이브 문자에 매핑되지 않은 네트워크 공유의 경로는 //sharename/ 로 시작합니다.

QFileInfo 는 드라이브 문자를 대문자로 변환합니다. QDir 는 이렇게 변환하지 않는다는 점에 유의하십시오. 아래 코드 예제에서 이를 확인할 수 있습니다.

    QFileInfo fi("c:/temp/foo");
    qDebug() << fi.absoluteFilePath(); // "C:/temp/foo"

이 함수는 ` isRelative()`가 참인 경우를 제외하고는 ` filePath()`와 동일한 결과를 반환합니다. ` canonicalFilePath()`와는 달리, 심볼릭 링크나 중복된 “.” 또는 “..” 요소는 반드시 제거되지는 않습니다.

경고: filePath()의 결과가 비어 있는경우 , 이 함수의 동작은 정의되지 않습니다.

filePath(), canonicalFilePath(), isRelative()도 참조하십시오 .

QString QFileInfo::absolutePath() const

QFileInfo 가 가리키는 파일 시스템 항목의 절대 경로를, 항목 이름은 제외하고 반환합니다.

Unix에서는 절대 경로가 디렉터리 구분자 '/' 로 시작합니다. Windows에서는 절대 경로가 드라이브 지정자(예: D:/)로 시작합니다.

Windows에서 드라이브 문자로 매핑되지 않은 네트워크 공유의 경로는 //sharename/ 로 시작합니다.

canonicalPath()와 달리, 심볼릭 링크나 중복된 "." 또는 ".." 요소는 반드시 제거되지는 않습니다.

경고: filePath()이 비어 있는경우 , 이 함수의 동작은 정의되지 않습니다.

absoluteFilePath(), path(), canonicalPath(), fileName() 및 isRelative()도 참조하십시오 .

QString QFileInfo::baseName() const

경로를 제외한 파일의 기본 이름을 반환합니다.

기본 이름은 파일 이름에서 첫 번째 '.' 문자 바로 앞까지(해당 문자는 제외)의 모든 문자로 구성됩니다.

예시:

QFileInfo fi("/tmp/archive.tar.gz");
QString base = fi.baseName();  // base = "archive"

파일의 기본 이름은 파일 명명 규칙과 무관하게 모든 플랫폼에서 동일하게 계산됩니다(예: Unix에서 ".bashrc"의 기본 이름은 비어 있으며, 접미사는 "bashrc"입니다).

fileName(), suffix(), completeSuffix(), completeBaseName()도 참조하십시오 .

QDateTime QFileInfo::birthTime() const

파일이 생성(생성됨)된 날짜와 시간을 현지 시간 기준으로 반환합니다.

파일의 생성 시간을 확인할 수 없는 경우, 이 함수는 유효하지 않은 값 QDateTime 을 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크가 아닌 대상에 대한 정보를 반환합니다.

이 함수는 QFileInfo::birthTime(const QTimeZone &tz)를 오버로드하며, birthTime(QTimeZone::LocalTime) 와 동일한 값을 반환합니다.

lastModified(), lastRead(), metadataChangeTime() 및 fileTime()도 참조하십시오 .

[since 6.6] QDateTime QFileInfo::birthTime(const QTimeZone &tz) const

파일이 생성(생성됨)된 날짜와 시간을 반환합니다.

반환되는 시간은 tz 로 지정된 시간대를 따릅니다. 예를 들어, QTimeZone::LocalTime 또는 QTimeZone::UTC 를 사용하면 각각 로컬 시간대 또는 UTC 기준의 시간을 얻을 수 있습니다. 네이티브 파일 시스템 API는 일반적으로 UTC를 사용하므로, QTimeZone::UTC 를 사용하면 변환 과정이 필요 없어 처리 속도가 더 빠를 수 있습니다.

파일의 생성 시간을 확인할 수 없는 경우, 이 함수는 무효한 값 QDateTime 을 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

이 함수는 Qt 6.6에서 도입되었습니다.

lastModified(const QTimeZone &), lastRead(const QTimeZone &), metadataChangeTime(const QTimeZone &) 및 fileTime(QFileDevice::FileTime, const QTimeZone &)도 참조하십시오 .

QString QFileInfo::bundleName() const

번들의 이름을 반환합니다.

macOS 및 iOS에서는 경로 isBundle()인 경우 해당 번들의 올바른 현지화된 이름을 반환합니다. 그 외 모든 플랫폼에서는 빈 QString 가 반환됩니다.

예시:

QFileInfo fi("/Applications/Safari.app");
QString bundle = fi.bundleName();                // name = "Safari"

isBundle(), filePath(), baseName() 및 suffix()도 참조하십시오 .

bool QFileInfo::caching() const

캐싱이 활성화되어 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

setCaching() 및 refresh()도 참조하십시오 .

QString QFileInfo::canonicalFilePath() const

파일 시스템 항목의 정규화된 경로를 반환합니다. 여기에는 항목의 이름이 포함되며, 즉 심볼릭 링크나 중복된 '.' 또는 '..' 요소가 제거된 절대 경로입니다.

이 메서드는 항목이 존재하지 않거나, 접근할 수 없는 경우(예: 현재 사용자가 디렉터리 경로에 대한 접근 권한이 없는 경우), 또는 경로를 정규화하는 과정에서 오류가 발생한 경우(일반적으로 매달린 심볼릭 링크로 인해 발생) 빈 문자열을 반환합니다.

filePath(), absoluteFilePath(), dir()도 참조하십시오 .

QString QFileInfo::canonicalPath() const

파일 시스템 항목의 정규화된 경로(항목 이름 제외), 즉 심볼릭 링크나 중복된 “.” 또는 “..” 요소가 없는 절대 경로를 반환합니다.

이 메서드는 항목이 존재하지 않거나, 접근할 수 없는 경우(예: 현재 사용자가 디렉터리 경로에 대한 접근 권한이 없는 경우), 또는 경로를 정규화하는 과정에서 오류가 발생한 경우(일반적으로 매달린 심볼릭 링크로 인해 발생) 빈 문자열을 반환합니다.

path() 및 absolutePath()도 참조하십시오 .

QString QFileInfo::completeBaseName() const

경로를 제외한 파일의 전체 기본 이름을 반환합니다.

전체 기본 이름은 파일 이름에서 마지막 '.' 문자 직전(해당 문자는 제외)까지의 모든 문자로 구성됩니다.

예:

QFileInfo fi("/tmp/archive.tar.gz");
QString base = fi.completeBaseName();  // base = "archive.tar"

fileName(), suffix(), completeSuffix(), baseName()도 참조하십시오 .

QString QFileInfo::completeSuffix() const

파일의 전체 접미사(확장자)를 반환합니다.

전체 확장자는 파일 이름에서 첫 번째 '.' 뒤('.' 자체는 제외)에 나오는 모든 문자로 구성됩니다.

예:

QFileInfo fi("/tmp/archive.tar.gz");
QString ext = fi.completeSuffix();  // ext = "tar.gz"

fileName(), suffix(), baseName(), completeBaseName()도 참조하십시오 .

QDir QFileInfo::dir() const

이 QFileInfo 가 가리키는 파일 시스템 항목의 상위 디렉터리 경로를 나타내는 QDir 객체를 반환합니다.

참고: QFileInfo 가 디렉터리를 나타내는 경우에도 반환된 QDir 는 항상 해당 객체의 상위 디렉터리에 해당합니다.

다음의 각 경우에 대해, dir()은 QDir "~/examples/191697" 를 반환합니다.

    QFileInfo fileInfo1("~/examples/191697/.");
    QFileInfo fileInfo2("~/examples/191697/..");
    QFileInfo fileInfo3("~/examples/191697/main.cpp");

다음 각 경우에 대해, dir()은 QDir "." 를 반환합니다.

    QFileInfo fileInfo4(".");
    QFileInfo fileInfo5("..");
    QFileInfo fileInfo6("main.cpp");

absolutePath(), filePath(), fileName(), isRelative() 및 absoluteDir()도 참조하십시오 .

bool QFileInfo::exists() const

이 QFileInfo 가 가리키는 파일 시스템 항목이 존재하면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

참고: 해당 항목이 존재하지 않는 대상을 가리키는 심볼릭 링크인경우 , 이 메서드는 false 를 반환합니다.

[static] bool QFileInfo::exists(const QString &path)

파일 시스템 항목 path 이 존재하면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

참고: path 가 존재하지 않는 대상을 가리키는 심볼릭 링크인경우 , 이 메서드는 false 를 반환합니다.

참고: 파일 시스템 액세스를 위해 QFileInfo(path).exists() 을 사용하는 것보다 이 함수를사용하는 것이 더 빠릅니다.

QString QFileInfo::fileName() const

이 QFileInfo 가 가리키는 파일 시스템 항목의 이름을 경로를 제외하고 반환합니다.

예:

QFileInfo fi("/tmp/archive.tar.gz");
QString name = fi.fileName();                // name = "archive.tar.gz"

참고: 이 QFileInfo 에 디렉터리 구분자 '/' 로 끝나는 경로가 지정된경우 , 항목의 이름 부분은 비어 있는 것으로 간주됩니다.

참조: isRelative(), filePath(), baseName(), suffix().

QString QFileInfo::filePath() const

이 QFileInfo 가 가리키는 파일 시스템 항목의 경로를 반환합니다. 경로는 절대 경로이거나 상대 경로일 수 있습니다.

absoluteFilePath(), canonicalFilePath(), isRelative()도 참조하십시오 .

QDateTime QFileInfo::fileTime(QFileDevice::FileTime time) const

time 로 지정된 파일 시간을 반환합니다.

시간을 확인할 수 없는 경우, 유효하지 않은 날짜 및 시간이 반환됩니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크가 아닌 대상에 대한 정보를 반환합니다.

이 함수는 QFileInfo::fileTime(QFileDevice::FileTime, const QTimeZone &)를 오버로드하며, fileTime(time, QTimeZone::LocalTime) 와 동일한 결과를 반환합니다.

birthTime(), lastModified(), lastRead() 및 metadataChangeTime()도 참조하십시오 .

[since 6.6] QDateTime QFileInfo::fileTime(QFileDevice::FileTime time, const QTimeZone &tz) const

time 로 지정된 파일 시간을 반환합니다.

반환되는 시간은 tz 로 지정된 시간대를 따릅니다. 예를 들어, QTimeZone::LocalTime 또는 QTimeZone::UTC 를 사용하면 각각 로컬 시간대 또는 UTC 기준의 시간을 얻을 수 있습니다. 네이티브 파일 시스템 API는 일반적으로 UTC를 사용하므로, QTimeZone::UTC 를 사용하면 변환 과정이 필요 없어 처리 속도가 더 빠를 수 있습니다.

시간을 확인할 수 없는 경우, 유효하지 않은 날짜 및 시간이 반환됩니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

이 함수는 Qt 6.6에서 도입되었습니다.

birthTime(const QTimeZone &), lastModified(const QTimeZone &), lastRead(const QTimeZone &), metadataChangeTime(const QTimeZone &) 및 QDateTime::isValid()도 참조하십시오 .

[since 6.0] std::filesystem::path QFileInfo::filesystemAbsoluteFilePath() const

absoluteFilePath()를 std::filesystem::path 로 반환합니다.

이 함수는 Qt 6.0에서 도입되었습니다.

absoluteFilePath()도 참조하십시오 .

[since 6.0] std::filesystem::path QFileInfo::filesystemAbsolutePath() const

absolutePath()을 std::filesystem::path 로 반환합니다.

이 함수는 Qt 6.0에서 도입되었습니다.

absolutePath()도 참조하십시오 .

[since 6.0] std::filesystem::path QFileInfo::filesystemCanonicalFilePath() const

canonicalFilePath()을 std::filesystem::path 로 반환합니다.

이 함수는 Qt 6.0에서 도입되었습니다.

canonicalFilePath()도 참조하십시오 .

[since 6.0] std::filesystem::path QFileInfo::filesystemCanonicalPath() const

canonicalPath()을 std::filesystem::path 로 반환합니다.

이 함수는 Qt 6.0에서 도입되었습니다.

canonicalPath()도 참조하십시오 .

[since 6.0] std::filesystem::path QFileInfo::filesystemFilePath() const

filePath()을 std::filesystem::path 로 반환합니다.

이 함수는 Qt 6.0에서 도입되었습니다.

filePath()도 참조하십시오 .

[since 6.2] std::filesystem::path QFileInfo::filesystemJunctionTarget() const

junctionTarget()를 std::filesystem::path 로 반환합니다.

이 함수는 Qt 6.2에서 도입되었습니다.

junctionTarget()도 참조하십시오 .

[since 6.0] std::filesystem::path QFileInfo::filesystemPath() const

path()을 std::filesystem::path 로 반환합니다.

이 함수는 Qt 6.0에서 도입되었습니다.

path()도 참조하십시오 .

readSymLink()을 std::filesystem::path 로 반환합니다.

이 함수는 Qt 6.6에서 도입되었습니다.

readSymLink()도 참조하십시오 .

[since 6.0] std::filesystem::path QFileInfo::filesystemSymLinkTarget() const

symLinkTarget()을 std::filesystem::path 로 반환합니다.

이 함수는 Qt 6.0에서 도입되었습니다.

symLinkTarget()도 참조하십시오 .

QString QFileInfo::group() const

파일의 그룹을 반환합니다. Windows에서, 파일에 그룹이 없는 시스템에서, 또는 오류가 발생한 경우 빈 문자열이 반환됩니다.

이 함수는 유닉스 환경에서 처리 시간이 다소 걸릴 수 있습니다(밀리초 단위).

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

groupId(), owner(), ownerId()도 참조하십시오 .

uint QFileInfo::groupId() const

파일이 속한 그룹의 ID를 반환합니다.

Windows 및 파일에 그룹이 없는 시스템에서는 이 함수가 항상 (uint) -2를 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

group(), owner(), ownerId()도 참조하십시오 .

bool QFileInfo::isAbsolute() const

파일 시스템 항목의 경로가 절대 경로인 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false `를 반환합니다(즉, 경로가 상대 경로임).

참고: 콜론(:)으로 시작하는경로는 항상 QResource 를 나타내므로 절대 경로로 간주됩니다.

isRelative()도 참조하십시오 .

[since 6.4] bool QFileInfo::isAlias() const

이 객체가 별칭을 가리키는 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.

별칭은 macOS에서만 존재합니다. 별칭은 일반 파일로 취급되므로, 별칭을 열면 해당 파일 자체가 열립니다. 별칭이 참조하는 파일이나 디렉터리를 열려면 symLinkTarget()을 사용하십시오.

참고: 별칭이 존재하지 않는 파일을가리키더라도 isAlias()는 true를 반환합니다.

이 함수는 Qt 6.4에서 도입되었습니다.

isFile(), isDir(), isSymLink(), symLinkTarget()도 참조하십시오 .

bool QFileInfo::isBundle() const

이 객체가 macOS 및 iOS에서 번들이나 번들로 연결된 심볼릭 링크를 가리키는 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

isDir(), isSymLink(), isFile()도 참조하십시오 .

bool QFileInfo::isDir() const

이 객체가 디렉터리나 디렉터리로 연결된 심볼릭 링크를 가리키는 경우 ` true `를 반환합니다. 객체가 디렉터리가 아닌 것(예: 파일)을 가리키거나 존재하지 않는 것을 가리키는 경우 ` false `를 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

isFile(), isSymLink(), isBundle()도 참조하십시오 .

bool QFileInfo::isExecutable() const

이 QFileInfo 가 가리키는 파일 시스템 항목이 실행 가능한 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

isReadable(), isWritable(), permission()도 참조하십시오 .

bool QFileInfo::isFile() const

이 객체가 파일이나 파일로의 심볼릭 링크를 가리키는 경우 ` true `를 반환합니다. 객체가 파일이 아닌 것(예: 디렉터리)이나 존재하지 않는 것을 가리키는 경우 ` false `를 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

isDir(), isSymLink(), isBundle()도 참조하십시오 .

bool QFileInfo::isHidden() const

QFileInfo 가 가리키는 파일 시스템 항목이 `hidden'인 경우 true 을 반환하고, 그렇지 않은 경우 false 을 반환합니다.

참고: 이 함수는 QDir::entryList 에서 "." 및 ".."를 표시된 대로 처리하더라도, 유닉스에서는 이 특수 항목들에 대해 true 를 반환합니다. 또한, 이 함수는 파일 이름을 검사하므로, 유닉스에서 해당 파일이 심볼릭 링크인 경우 대상 파일의 이름이 아닌 심볼릭 링크의 이름을 검사한다는 점에 유의하십시오.

Windows에서는 대상 파일(심볼릭 링크가 아닌)이 숨겨진 파일인 경우 이 함수가 ` true `를 반환합니다.

bool QFileInfo::isJunction() const

객체가 접합점(junction)을 가리키는 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.

접합점은 Windows의 NTFS 파일 시스템에서만 존재하며, 일반적으로 ` mklink ` 명령을 통해 생성됩니다. 이는 디렉터리에 대한 심볼릭 링크로 볼 수 있으며, 로컬 볼륨의 절대 경로에 대해서만 생성할 수 있습니다.

bool QFileInfo::isNativePath() const

파일 경로를 네이티브 API에서 직접 사용할 수 있는 경우 ` true `를 반환합니다. Qt 리소스 시스템(Qt Resource System)과 같이 Qt 내부의 가상 파일 시스템에서 파일이 지원되는 경우 ` false `를 반환합니다.

참고: 네이티브 경로의 경우, 플랫폼 및 네이티브 API의 입력 요구 사항에 따라 경로 구분 기호 및 문자 인코딩 변환이 여전히 필요할 수 있습니다.

참조: QDir::toNativeSeparators(), QFile::encodeName(), filePath(), absoluteFilePath(), canonicalFilePath().

[since 6.10] bool QFileInfo::isOther() const

이 QFileInfo 가 디렉터리, 일반 파일 또는 심볼릭 링크가 아닌 파일 시스템 항목을 가리키는 경우 true 을 반환합니다. 그렇지 않은 경우 false 을 반환합니다.

이 QFileInfo 가 존재하지 않는 항목을 가리키는 경우, 이 메서드는 false 를 반환합니다.

false항목이 끊어진 심볼릭 링크(대상 파일이 존재하지 않음)인 경우, 이 메서드는 ` `를 반환합니다. 끊어지지 않은 심볼릭 링크의 경우, 이 함수는 심볼릭 링크가 아닌 대상 파일에 대한 정보를 반환합니다.

유닉스에서 특수(기타) 파일 시스템 항목은 FIFO, 소켓, 문자 장치 또는 블록 장치입니다. 자세한 내용은 mknod 매뉴얼 페이지를 참조하십시오.

Windows에서는(역사적 이유로, Symbolic Links and Shortcuts 참조) 이 메서드가 .lnk 파일에 대해 true 를 반환합니다.

이 함수는 Qt 6.10에서 도입되었습니다.

isDir(), isFile(), isSymLink(), QDirListing::IteratorFlag::ExcludeOther도 참조하십시오 .

bool QFileInfo::isReadable() const

사용자가 QFileInfo 가 가리키는 파일 시스템 항목을 읽을 수 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

참고: NTFS permissions 검사가 활성화되지 않은경우 , Windows에서 반환되는 결과는 해당 항목이 존재하는지 여부만을 나타냅니다.

참조: isWritable(), isExecutable(), permission().

bool QFileInfo::isRelative() const

파일 시스템 항목의 경로가 상대 경로인 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다(즉, 경로가 절대 경로임).

유닉스에서는 절대 경로가 디렉터리 구분자 '/' 로 시작합니다. 윈도우에서는 절대 경로가 드라이브 지정자(예: D:/)로 시작합니다.

참고: 콜론(:)으로 시작하는경로는 디렉터리 구분자( QResource)를 나타내므로 항상 절대 경로로 간주됩니다.

isAbsolute()도 참조하십시오 .

bool QFileInfo::isRoot() const

객체가 디렉터리나 디렉터리로 연결된 심볼릭 링크를 가리키며, 해당 디렉터리가 루트 디렉터리인 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.

bool QFileInfo::isShortcut() const

이 객체가 바로가기를 가리키는 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.

바로 가기는 Windows에서만 존재하며, 일반적으로 .lnk 파일입니다. 예를 들어, Windows에서는 바로 가기(*.lnk 파일)에 대해 true가 반환되지만, Unix(macOS 및 iOS 포함)에서는 false가 반환됩니다.

바로 가기(.lnk) 파일은 일반 파일로 취급됩니다. 이러한 파일을 열면 .lnk 파일 자체가 열립니다. 바로 가기가 참조하는 파일을 열려면, 바로 가기에 대해 symLinkTarget()를 사용해야 합니다.

참고: 바로 가기(깨진 바로 가기)가 존재하지 않는 파일을가리키더라도 , isShortcut()은 true를 반환합니다.

isFile(), isDir(), isSymbolicLink(), symLinkTarget()도 참조하십시오 .

이 객체가 심볼릭 링크, 바로 가기 또는 별칭을 가리키는 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.

심볼릭 링크는 유닉스(macOS 및 iOS 포함)와 윈도우에서 존재하며, 일반적으로 각각 ln -s 또는 mklink 명령어로 생성됩니다. 심볼릭 링크를 열면 사실상 link's target 를 여는 것과 같습니다.

또한, Windows의 바로 가기(*.lnk 파일)와 macOS의 별칭에 대해서는 true가 반환됩니다. 이 동작은 더 이상 권장되지 않으며 향후 Qt 버전에서 변경될 가능성이 높습니다. 바로 가기나 별칭을 열면 .lnk 또는 별칭 파일 자체가 열립니다.

예시:

QFileInfo info(fileName);
if (info.isSymLink())
    fileName = info.symLinkTarget();

참고: exists()는 심볼릭 링크가 기존 대상을 가리키는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

isFile(), isDir(), symLinkTarget()도 참조하십시오 .

이 객체가 심볼릭 링크를 가리키는 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.

심볼릭 링크는 Unix(macOS 및 iOS 포함)와 Windows(NTFS 심볼릭 링크)에서 존재하며, 일반적으로 각각 ` ln -s ` 또는 ` mklink ` 명령을 통해 생성됩니다.

유닉스는 심볼릭 링크를 투명하게 처리합니다. 심볼릭 링크를 열면 사실상 link's target 파일이 열리는 것과 같습니다.

isSymLink()과 달리, Windows의 바로 가기(*.lnk 파일)와 macOS의 별칭의 경우 false가 반환됩니다. 대신 QFileInfo::isShortcut() 및 QFileInfo::isAlias()를 사용하십시오.

참고: 심볼릭 링크가 기존 대상을 가리키는 경우exists()는 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

isFile(), isDir(), isShortcut() 및 symLinkTarget()도 참조하십시오 .

bool QFileInfo::isWritable() const

사용자가 QFileInfo 가 가리키는 파일 시스템 항목에 쓰기 권한이 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

참고: NTFS permissions 검사가 활성화되지 않은경우 , Windows에서 반환되는 결과는 해당 항목이 읽기 전용으로 표시되어 있는지 여부만을 반영합니다.

참조: isReadable(), isExecutable(), permission().

[since 6.2] QString QFileInfo::junctionTarget() const

NTFS 접합점을 해당 접합점이 참조하는 경로로 변환합니다.

NTFS 접합점이 가리키는 디렉터리의 절대 경로를 반환하며, 해당 개체가 NTFS 접합점이 아닌 경우 빈 문자열을 반환합니다.

NTFS 접합부가 지정한 디렉터리가 실제로 존재한다는 보장은 없습니다.

이 함수는 Qt 6.2에서 도입되었습니다.

isJunction(), isFile(), isDir(), isSymLink(), isSymbolicLink() 및 isShortcut()도 참조하십시오 .

QDateTime QFileInfo::lastModified() const

파일이 마지막으로 수정된 날짜와 시간을 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

이 함수는 QFileInfo::lastModified(const QTimeZone &)를 오버로드하며, lastModified(QTimeZone::LocalTime) 와 동일한 결과를 반환합니다.

birthTime(), lastRead(), metadataChangeTime(), fileTime()도 참조하십시오 .

[since 6.6] QDateTime QFileInfo::lastModified(const QTimeZone &tz) const

파일이 마지막으로 수정된 날짜와 시간을 반환합니다.

반환되는 시간은 ` tz`로 지정된 시간대에 따릅니다. 예를 들어, ` QTimeZone::LocalTime ` 또는 ` QTimeZone::UTC `을 사용하면 각각 로컬 시간대 또는 UTC 시간대의 시간을 얻을 수 있습니다. 네이티브 파일 시스템 API는 일반적으로 UTC를 사용하므로, ` QTimeZone::UTC `을 사용하면 변환 과정이 필요 없어 처리 속도가 더 빠를 수 있습니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

이 함수는 Qt 6.6에서 도입되었습니다.

birthTime(const QTimeZone &), lastRead(const QTimeZone &), metadataChangeTime(const QTimeZone &) 및 fileTime(QFileDevice::FileTime, const QTimeZone &)도 참조하십시오 .

QDateTime QFileInfo::lastRead() const

파일이 마지막으로 읽힌(접근된) 날짜와 시간을 반환합니다.

이 정보를 사용할 수 없는 플랫폼에서는 ` lastModified()`와 동일한 시간을 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

이 함수는 QFileInfo::lastRead(const QTimeZone &)를 오버로드하며, lastRead(QTimeZone::LocalTime) 와 동일한 값을 반환합니다.

birthTime(), lastModified(), metadataChangeTime(), fileTime()도 참조하십시오 .

[since 6.6] QDateTime QFileInfo::lastRead(const QTimeZone &tz) const

파일이 마지막으로 읽힌(접근된) 날짜와 시간을 반환합니다.

반환되는 시간은 tz 에서 지정한 시간대를 따릅니다. 예를 들어, QTimeZone::LocalTime 또는 QTimeZone::UTC 을 사용하면 각각 로컬 시간대 또는 UTC 기준의 시간을 얻을 수 있습니다. 네이티브 파일 시스템 API는 일반적으로 UTC를 사용하므로, QTimeZone::UTC 을 사용하면 변환 과정이 필요 없어 처리 속도가 더 빠를 수 있습니다.

이 정보를 사용할 수 없는 플랫폼에서는 lastModified()와 동일한 시간을 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

이 함수는 Qt 6.6에서 도입되었습니다.

birthTime(const QTimeZone &), lastModified(const QTimeZone &), metadataChangeTime(const QTimeZone &) 및 fileTime(QFileDevice::FileTime, const QTimeZone &)도 참조하십시오 .

bool QFileInfo::makeAbsolute()

파일 시스템 항목의 경로가 상대 경로인 경우, 이 메서드는 이를 절대 경로로 변환하여 ` true`를 반환합니다. 경로가 이미 절대 경로인 경우, 이 메서드는 ` false`를 반환합니다.

filePath() 및 isRelative()도 참조하십시오 .

QDateTime QFileInfo::metadataChangeTime() const

파일의 메타데이터가 마지막으로 변경된 날짜와 시간을 현지 시간 기준으로 반환합니다.

메타데이터 변경은 파일이 처음 생성될 때 발생하지만, 사용자가 inode 정보를 기록하거나 설정할 때마다(예: 파일 권한 변경)도 발생합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크가 아닌 대상에 대한 정보를 반환합니다.

이 함수는 QFileInfo::metadataChangeTime(const QTimeZone &tz)를 오버로드하며, metadataChangeTime(QTimeZone::LocalTime) 와 동일한 값을 반환합니다.

birthTime(), lastModified(), lastRead(), fileTime()도 참조하십시오 .

[since 6.6] QDateTime QFileInfo::metadataChangeTime(const QTimeZone &tz) const

파일의 메타데이터가 마지막으로 변경된 날짜와 시간을 반환합니다. 메타데이터 변경은 파일이 처음 생성될 때 발생하지만, 사용자가 inode 정보를 기록하거나 설정할 때마다(예: 파일 권한 변경)도 발생합니다.

반환되는 시간은 tz 에서 지정한 시간대를 따릅니다. 예를 들어, QTimeZone::LocalTime 또는 QTimeZone::UTC 를 사용하면 각각 로컬 시간대 또는 UTC 시간대의 시간을 얻을 수 있습니다. 네이티브 파일 시스템 API는 일반적으로 UTC를 사용하므로, QTimeZone::UTC 를 사용하면 변환 과정이 필요 없어 더 빠른 결과를 얻을 수 있습니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

이 함수는 Qt 6.6에서 도입되었습니다.

birthTime(const QTimeZone &), lastModified(const QTimeZone &), lastRead(const QTimeZone &) 및 fileTime(QFileDevice::FileTime time, const QTimeZone &)도 참조하십시오 .

QString QFileInfo::owner() const

파일의 소유자를 반환합니다. 파일에 소유자가 없는 시스템이거나 오류가 발생한 경우, 빈 문자열이 반환됩니다.

이 함수는 유닉스 환경에서 처리 시간이 다소 걸릴 수 있습니다(밀리초 단위). 윈도우에서는 ` NTFS permissions ` 확인이 활성화되지 않은 경우 빈 문자열을 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

ownerId(), group(), groupId()함수도 참조하십시오 .

uint QFileInfo::ownerId() const

파일 소유자의 ID를 반환합니다.

Windows 및 파일에 소유자가 없는 시스템에서는 이 함수가 ((uint) -2)를 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

owner(), group(), groupId()도 참조하십시오 .

QString QFileInfo::path() const

이 QFileInfo 가 가리키는 파일 시스템 항목의 경로를, 항목 이름을 제외하고 반환합니다.

참고: 이 QFileInfo 에 디렉터리 구분자 '/' 로 끝나는 경로가 지정된경우 , 항목의 이름 부분은 비어 있는 것으로 간주됩니다. 이 경우, 이 함수는 전체 경로를 반환합니다.

참조: filePath(), absolutePath(), canonicalPath(), dir(), fileName(), isRelative().

bool QFileInfo::permission(QFileDevice::Permissions permissions) const

파일 권한을 확인합니다. ` permissions ` 인수는 QFile::Permissions 유형의 여러 플래그를 OR 연산으로 결합하여 권한 조합을 확인할 수 있습니다.

파일에 권한이 설정되어 있지 않은 시스템에서는 이 함수가 항상 true 를 반환합니다.

참고: Windows에서 NTFS permissions 검사가 활성화되지 않은 경우결과가 부정확할 수 있습니다.

예시:

QFileInfo fi("/tmp/archive.tar.gz");
if (fi.permission(QFile::WriteUser | QFile::ReadGroup))
    qWarning("I can change the file; my group can read the file");
if (fi.permission(QFile::WriteGroup | QFile::WriteOther))
    qWarning("The group or others can change the file");

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

isReadable(), isWritable() 및 isExecutable()도 참조하십시오 .

QFileDevice::Permissions QFileInfo::permissions() const

해당 파일에 대한 QFile::Permissions의 모든 권한을 OR 연산으로 결합한 전체 조합을 반환합니다.

참고: Windows에서 ' NTFS permissions ' 확인 기능이 활성화되지 않은 경우결과가 부정확할 수 있습니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

심볼릭 링크가 가리키는 경로를 읽습니다.

심볼릭 링크가 참조하는 원시 경로를 반환하며, 심볼릭 링크가 포함된 디렉터리를 기준으로 한 상대 경로는 변환하지 않습니다. 반환된 문자열은 심볼릭 링크가 실제로 절대 경로로 참조하는 경우에만 절대 경로가 됩니다. 대상이 심볼릭 링크가 아닌 경우 빈 문자열을 반환합니다.

이 함수는 Qt 6.6에서 도입되었습니다.

symLinkTarget(), exists(), isSymLink(), isDir(), isFile()도 참조하십시오 .

void QFileInfo::refresh()

QFileInfo 가 참조하는 파일 시스템 항목에 대한 정보를 새로 고칩니다. 즉, 캐시된 속성이 다음에 조회될 때 파일 시스템에서 정보를 읽어옵니다.

void QFileInfo::setCaching(bool enable)

enable 가 true인 경우, 파일 정보 캐싱이 활성화됩니다. enable 가 false인 경우 캐싱이 비활성화됩니다.

캐싱이 활성화되면, QFileInfo 는 파일 정보가 처음 필요할 때만 파일 시스템에서 해당 정보를 읽어들입니다.

캐싱은 기본적으로 활성화되어 있습니다.

refresh() 및 caching()도 참조하십시오 .

void QFileInfo::setFile(const QString &path)

이 QFileInfo 가 정보를 제공하는 파일 시스템 항목의 경로를 절대 경로 또는 상대 경로인 path 로 설정합니다.

유닉스에서는 절대 경로가 디렉터리 구분자 '/' 로 시작합니다. 윈도우에서는 절대 경로가 드라이브 지정자(예: D:/)로 시작합니다.

상대 경로는 디렉터리 이름이나 일반 파일 이름으로 시작하며, 현재 작업 디렉터리를 기준으로 한 파일 시스템 항목의 경로를 지정합니다.

예:

QFileInfo info("/usr/bin/env");

QString path = info.absolutePath(); // path = /usr/bin
QString base = info.baseName(); // base = env

info.setFile("/etc/hosts");

path = info.absolutePath(); // path = /etc
base = info.baseName(); // base = hosts

isFile(), isRelative(), QDir::setCurrent(), QDir::isRelativePath()도 참조하십시오 .

[since 6.0] void QFileInfo::setFile(const std::filesystem::path &path)

이 QFileInfo 가 정보를 제공하는 파일 시스템 항목의 경로를 path 로 설정합니다.

path 가 상대 경로인 경우, QFileInfo 의 경로도 상대 경로가 됩니다.

이 함수는 Qt 6.0에서 도입되었습니다.

void QFileInfo::setFile(const QFileDevice &file)

QFileInfo 가 정보를 제공하는 파일을 file 로 설정합니다.

file 에 상대 경로가 포함되어 있는 경우, QFileInfo 에도 상대 경로가 포함됩니다.

이 함수는 오버로드된 함수입니다.

isRelative()도 참조하십시오 .

void QFileInfo::setFile(const QDir &dir, const QString &path)

이 QFileInfo 가 정보를 제공하는 파일 시스템 항목의 경로를 dir 디렉터리에 있는 path 로 설정합니다.

dir 에 상대 경로가 지정된 경우, QFileInfo 에도 상대 경로가 지정됩니다.

path 가 절대 경로인 경우, dir 로 지정된 디렉터리는 무시됩니다.

이 함수는 오버로드된 함수입니다.

isRelative()도 참조하십시오 .

qint64 QFileInfo::size() const

파일 크기를 바이트 단위로 반환합니다. 파일이 존재하지 않거나 가져올 수 없는 경우 0을 반환합니다.

파일이 심볼릭 링크인 경우, 이 함수는 심볼릭 링크 자체가 아닌 대상에 대한 정보를 반환합니다.

exists()함수도 참조하십시오 .

[since 6.0] void QFileInfo::stat()

파일 시스템에서 모든 속성을 읽어옵니다.

이는 작업자 스레드에서 파일 시스템에 대한 정보를 수집한 후, 캐싱된 ` QFileInfo ` 인스턴스 형태로 UI에 전달할 때 유용합니다.

이 함수는 Qt 6.0에서 도입되었습니다.

setCaching() 및 refresh()도 참조하십시오 .

QString QFileInfo::suffix() const

파일의 접미사(확장자)를 반환합니다.

접미사는 파일의 마지막 '.' 뒤('.'은 제외)에 오는 모든 문자로 구성됩니다.

예시:

QFileInfo fi("/tmp/archive.tar.gz");
QString ext = fi.suffix();  // ext = "gz"

파일의 접미사는 파일 명명 규칙과 무관하게 모든 플랫폼에서 동일하게 계산됩니다(예: Unix에서 ".bashrc"의 기본 이름은 비어 있으며, 접미사는 "bashrc"입니다).

fileName(), completeSuffix(), baseName(), completeBaseName()도 참조하십시오 .

[noexcept] void QFileInfo::swap(QFileInfo &other)

이 파일 정보를 other 에 있는 정보와 교체합니다. 이 작업은 매우 빠르며 절대 실패하지 않습니다.

QString QFileInfo::symLinkTarget() const

심볼릭 링크가 가리키는 파일 또는 디렉터리의 절대 경로를 반환하며, 해당 객체가 심볼릭 링크가 아닌 경우에는 빈 문자열을 반환합니다.

이 이름은 실제 존재하는 파일을 나타내지 않을 수 있으며, 단지 문자열일 뿐입니다.

참고: ` exists()`는 심볼릭 링크가 기존 대상을 가리키는 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.

exists(), isSymLink(), isDir() 및 isFile()도 참조하십시오 .

[noexcept] QFileInfo &QFileInfo::operator=(QFileInfo &&other)

other 를 이 QFileInfo 인스턴스에 이동 할당합니다.

참고: 이동된객체 other 는 부분적으로 형성된 상태가 되며, 이 상태에서는 소멸과 새 값 할당만이 유효한 연산입니다.

QFileInfo &QFileInfo::operator=(const QFileInfo &fileinfo)

지정된 ` fileinfo `의 복사본을 생성하여 이 ` QFileInfo`에 할당합니다.

관련 비회원

QFileInfoList

QList 의 동의어 <QFileInfo>.

[noexcept] bool operator!=(const QFileInfo &lhs, const QFileInfo &rhs)

QFileInfo lhs 가 rhs 에서 참조하는 파일 시스템 항목과 다른 파일 시스템 항목을 참조하는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

operator==()도 참조하십시오 .

[noexcept] bool operator==(const QFileInfo &lhs, const QFileInfo &rhs)

QFileInfo, lhs 및 QFileInfo, rhs 가 파일 시스템상의 동일한 항목을 가리키는 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.

파일 시스템 항목 참조(존재하지 않거나 비어 있는 경로)를 포함하지 않는 두 개의 빈 QFileInfo 객체를 비교한 결과는 정의되지 않음을 유의하십시오.

경고: 이 함수는 동일한 대상을 가리키는 두 개의 서로 다른 심볼릭 링크를 비교하지 않습니다.

경고: Windows에서는 동일한 파일 시스템 항목을 가리키는 긴 경로와 짧은 경로가 서로 다른 항목을 가리키는 것처럼 처리됩니다.

operator!=()도 참조하십시오 .

매크로 문서

[since 6.0] QT_IMPLICIT_QFILEINFO_CONSTRUCTION

이 매크로를 정의하면 대부분의 ` QFileInfo ` 생성자가 명시적 생성자 대신 암시적 생성자로 변경됩니다. ` QFileInfo ` 객체의 생성에는 많은 비용이 들기 때문에, 특히 더 효율적인 대안이 있는 경우에는 실수로 객체를 생성하는 것을 피해야 합니다. 예를 들어:

QDirIterator it(dir);
while (it.hasNext()) {
    // Implicit conversion from QString (returned by it.next()):
    // may create unnecessary data structures and cause additional
    // accesses to the file system. Unless this macro is defined,
    // this line does not compile.

    QFileInfo fi = it.next();

    ~~~
}

대신 올바른 API를 사용하십시오:

QDirIterator it(dir);
while (it.hasNext()) {
    // Extract the QFileInfo from the iterator directly:
    QFileInfo fi = it.nextFileInfo();

    ~~~
}

QString, QFile 등의 객체 생성 시, 복사 초기화 대신 직접 초기화를 사용하면 언제든지 생성할 수 있습니다:

QFileInfo fi1 = some_string; // Does not compile unless this macro is defined
QFileInfo fi2(some_string);  // OK
QFileInfo fi3{some_string};  // Possibly better, avoids the risk of the Most Vexing Parse
auto fi4 = QFileInfo(some_string); // OK

이 매크로는 호환성을 위해 제공됩니다. 새로운 코드에서는 사용을 권장하지 않습니다.

이 매크로는 Qt 6.0에서 도입되었습니다.

© 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.