zoukankan      html  css  js  c++  java
  • 查找文件是否存在,文件属性、日期、大小;

    1.判断文件是否存在

    利用CFile类和CFileStatus类判断

    CFileStatus filestatus;
    if (CFile::GetStatus(_T("d:\softist.txt"), filestatus))
        AfxMessageBox(_T("文件存在"));
    else
        AfxMessageBox(_T("文件不存在"));

    利用CFileFind类判断

    CFileFind filefind;
    CString strPathname = _T("d:\softist.txt");
    if(filefind.FindFile(strPathname))
        AfxMessageBox(_T("文件存在"));
    else
        AfxMessageBox(_T("文件不存在"));

    利用API函数FindFirstFile判断,这个函数还可以判断文件属性,日期,大小等属性。例:

    WIN32_FIND_DATA FindFileData;
    HANDLE hFind;
    hFind = FindFirstFile(_T("d:\softist.txt"), &FindFileData);
    if (hFind == INVALID_HANDLE_VALUE) 
    {
        AfxMessageBox(_T("文件不存在"));
    } 
    else 
    {
        AfxMessageBox(_T("文件存在"));
        FindClose(hFind);
    }

    2.文件日期操作。下面是取得"d:\softist.txt"的文件修改时间,TRACE以后,再把文件修改时间改成 2000-12-03 12:34:56

    HANDLE     hFile;
    FILETIME   filetime;
    FILETIME   localtime;
    SYSTEMTIME systemtime;
    
    hFile = CreateFile(_T("d:\softist.txt"), GENERIC_READ | GENERIC_WRITE,
    					0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    
    if (hFile != INVALID_HANDLE_VALUE) 
    {
        GetFileTime(hFile, NULL, NULL, &filetime);      //取得UTC文件时间
        FileTimeToLocalFileTime(&filetime, &localtime); //换成本地时间
        FileTimeToSystemTime(&localtime, &systemtime);  //换成系统时间格式
    
        TRACE("%04d-%02d-%02d %02d:%02d:%02d
    ",
              systemtime.wYear, systemtime.wMonth, systemtime.wDay,
              systemtime.wHour, systemtime.wMinute, systemtime.wSecond);
    
        //把文件时间修改成 2000-12-03 12:34:56
        systemtime.wYear = 2000; systemtime.wMonth = 12; systemtime.wDay = 3;
        systemtime.wHour = 12; systemtime.wMinute = 34; systemtime.wSecond = 56;
        SystemTimeToFileTime(&systemtime, &localtime);	//换成文件时间格式
        LocalFileTimeToFileTime(&localtime, &filetime);	//换成UTC时间
        SetFileTime(hFile, NULL, NULL, &filetime);		//设定UTC文件时间
        CloseHandle(hFile);
    }

    3.设置文件属性

    BOOL SetFileAttributes( LPCTSTR lpFileName, DWORD dwFileAttributes );

    dwFileAttributes 的意义
    FILE_ATTRIBUTE_ARCHIVE   保存文件

    FILE_ATTRIBUTE_HIDDEN    隐藏文件
    FILE_ATTRIBUTE_NORMAL   通常文件
    FILE_ATTRIBUTE_READONLY 只读文件
    FILE_ATTRIBUTE_SYSTEM   系统文件

    例:

    SetFileAttributes(_T("d:\softist.txt", FILE_ATTRIBUTE_READONLY);

     

     

  • 相关阅读:
    20210312
    20210311
    20210310
    例5-1
    例5-2
    例4-12-2
    例4-12
    例4-11
    例4-10
    例4-9
  • 原文地址:https://www.cnblogs.com/chenzuoyou/p/3156055.html
Copyright © 2011-2022 走看看