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(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)
~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
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는 절대 경로 또는 상대 경로로 파일 시스템 항목을 가리킬 수 있습니다:

  • 유닉스에서 절대 경로는 디렉토리 구분 기호 '/' 로 시작합니다. Windows에서 절대 경로는 드라이브 사양으로 시작합니다(예: 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 () 함수를 사용하여 하나의 문에서 권한과 소유권을 조사할 수도 있습니다.

Unix(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를 처리할 때 몇 가지 제한 사항이 적용됩니다:

QDirQFile참조하세요 .

멤버 함수 문서

QFileInfo::QFileInfo()

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

setFile()도 참조하십시오 .

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

파일에 대한 정보를 제공하는 새 QFileInfo를 만듭니다 file.

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 를 생성합니다.

[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"

// dir에 대한 QFileInfoQFileInfo 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 이 참조하는 파일 시스템 항목의 절대 전체 경로(항목 이름 포함)를 반환합니다.

Unix에서 절대 경로는 디렉토리 구분 기호 '/' 로 시작합니다. Windows에서는 절대 경로가 드라이브 사양으로 시작합니다(예: 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

항목의 이름을 포함한 파일 시스템 항목의 정식 경로, 즉 심볼릭 링크나 중복된 '.' 또는 '..' 요소가 없는 절대 경로를 반환합니다.

항목이 존재하지 않으면 canonicalFilePath()는 빈 문자열을 반환합니다.

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의 경우 파일에 그룹이 없거나 오류가 발생하면 빈 문자열이 반환됩니다.

이 함수는 Unix에서 시간이 오래 걸릴 수 있습니다(밀리초 단위).

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

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()는 참을 반환합니다.

이 함수는 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 이 참조하는 파일 시스템 항목이 '숨김'인 경우 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

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

bool QFileInfo::isJunction() const

객체가 정션을 가리키면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

정션은 Windows의 NTFS 파일 시스템에만 존재하며 일반적으로 mklink 명령으로 만듭니다. 디렉터리에 대한 심볼릭 링크라고 생각할 수 있으며 로컬 볼륨의 절대 경로에 대해서만 만들 수 있습니다.

bool QFileInfo::isNativePath() const

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

참고: 네이티브 경로는 플랫폼과 네이티브 API의 입력 요구 사항에 따라 경로 구분 기호 및 문자 인코딩을 변환해야 할 수 있습니다.

QDir::toNativeSeparators(), QFile::encodeName(), filePath(), absoluteFilePath() 및 canonicalFilePath()도 참조하세요 .

bool QFileInfo::isReadable() const

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

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

참고: NTFS permissions 검사가 활성화되지 않은 경우 Windows의 결과에는 해당 항목의 존재 여부만 반영됩니다.

isWritable(), isExecutable() 및 permission()도 참조하세요 .

bool QFileInfo::isRelative() const

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

Unix에서 절대 경로는 디렉터리 구분 기호 '/' 로 시작합니다. Windows에서 절대 경로는 드라이브 사양으로 시작합니다(예: 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()은 참을 반환합니다.

isFile(), isDir(), isSymbolicLink() 및 symLinkTarget()도 참조하세요 .

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

심볼릭 링크는 Unix(macOS 및 iOS 포함) 및 Windows에 존재하며 일반적으로 각각 ln -s 또는 mklink 명령으로 만들어집니다. 심볼릭 링크를 열면 link's target 이 열립니다.

또한 Windows에서는 바로 가기(*.lnk 파일)에 대해 true가 반환되고, 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-symlink)에 존재하며 일반적으로 각각 ln -s 또는 mklink 명령으로 만듭니다.

Unix는 심볼릭 링크를 투명하게 처리합니다. 심볼릭 링크를 열면 link's target.

isSymLink()와 달리 Windows에서는 바로 가기(*.lnk 파일)가, macOS에서는 별칭이 반환됩니다. 대신 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

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

메타데이터 변경은 파일을 처음 만들 때 발생하지만, 사용자가 이노드 정보를 쓰거나 설정할 때마다 발생합니다(예: 파일 권한 변경).

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

이 함수는 QFileInfo::메타데이터변경시간(const QTimeZone &tz)을 오버로드하여 metadataChangeTime(QTimeZone::LocalTime) 과 동일한 결과를 반환합니다.

birthTime(), lastModified(), lastRead() 및 fileTime()도 참조하세요 .

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

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

반환된 시간은 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 시간, const QTimeZone &)도 참조하십시오 .

QString QFileInfo::owner() const

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

이 함수는 Unix에서는 시간이 오래 걸릴 수 있습니다(밀리초 단위). Windows에서는 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 을 반환합니다.

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

예시:

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::권한의 전체 OR 조합을 반환합니다.

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

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

심볼릭 링크가 참조하는 경로를 읽습니다.

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

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

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

void QFileInfo::refresh()

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

void QFileInfo::setCaching(bool enable)

enable 이 참이면 파일 정보 캐싱을 활성화합니다. enable 이 거짓이면 캐싱이 비활성화됩니다.

캐싱이 활성화되면 QFileInfo 은 파일 정보가 필요할 때 파일 시스템에서 파일 정보를 처음 읽지만 일반적으로는 나중에 읽지 않습니다.

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

refresh() 및 caching()도 참조하세요 .

void QFileInfo::setFile(const QString &path)

QFileInfo 에서 정보를 제공하는 파일 시스템 항목의 경로를 path 로 설정합니다(절대 또는 상대 경로일 수 있음).

Unix에서 절대 경로는 디렉터리 구분 기호 '/' 로 시작합니다. Windows에서 절대 경로는 드라이브 사양으로 시작합니다(예: 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 인스턴스에 할당합니다.

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

주어진 fileinfo 의 복사본을 만들어 이 QFileInfo 에 할당합니다.

관련 비회원

QFileInfoList

QList<QFileInfo>의 동의어입니다.

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

QFileInfo lhsrhs 에서 참조하는 것과 다른 파일 시스템 항목을 참조하는 경우 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

operator==()도 참조하세요 .

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

QFileInfo lhsQFileInfo 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에 도입되었습니다.

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