• Win32中文件的操作


    1 文件的创建或打开
      HANDLE CreateFile( LPCTSTR lpFileName,                //文件路径和名称
                DWORD dwDesiredAccess,                 //访问方式,最常用的值是GENERIC_READ,GENERIC_WRITE或两         个:GENERIC_READ|GENERIC_WRITE.
                DWORD dwShareMode,                   //共享模式,FILE_SHARE_DELETE,FILE_SHARE_READ,FILE_SHARE_WRITE
                LPSECURITY_ATTRIBUTES lpSecurityAttributes,      //安全属性,不同身份是否能打开
                DWORD dwCreationDisposition,             //创建方式
                DWORD dwFlagsAndAttributes,           //文件属性,只读或隐藏
                HANDLE hTemplateFile                 //拷贝的文件句柄

                );

    2 文件的关闭
      BOOL CloseHandle(HANDLE hObject );        //要关闭的句柄

    3 文件的数据写入
      BOOL WriteFile( HANDLE hFile,               //文件句柄
               LPCVOID lpBuffer,             //写入数据的BUFF的地址
               DWORD nNumberOfBytesToWrite,    //写入数据的BUFF的长度
               LPDWORD lpNumberOfBytesWritten,    //返回被写入数据的长度
               LPOVERLAPPED lpOverlapped        //默认NULL

              );

     

    4 文件的数据读取
      BOOL ReadFile( HANDLE hFile,               // 文件句柄
              LPVOID lpBuffer,               //读入数据的BUFF的地址
              DWORD nNumberOfBytesToRead,     //读入数据的BUFF的长度
              LPDWORD lpNumberOfBytesRead,      //返回被读入数据的长度
              LPOVERLAPPED lpOverlapped        //默认NULL

              );

    5 获取文件长度
      DWORD GetFileSize( HANDLE hFile,            //文件的句柄
                  LPDWORD lpFileSizeHigh        //高32位

                );                   //返回值是低32位
      文件的长度64位 = (低32位, 高32位 )

    6 设置文件指针
      DWORD SetFilePointer( HANDLE hFile,             //文件的句柄
                  LONG lDistanceToMove,        //偏移量,低32位
                  PLONG lpDistanceToMoveHigh,      //偏移量,高
                  DWORD dwMoveMethod       //相对位置,FILE_BEGIN,FILE_CURRENT,FILE_END

                 );
       返回值是返回偏移量的低32

    7 拷贝文件
      BOOL CopyFile( LPCTSTR lpExistingFileName,        //源文件路径
                LPCTSTR lpNewFileName,           //目的文件路径
              BOOL bFailIfExists             //是否覆盖目的同名文件,FALSE为覆盖

              );

    8 删除文件
      BOOL DeleteFile(LPCTSTR lpFileName );          //要删除的文件

    9 文件的属性
      9.1 GetFileAttributes
        DWORD GetFileAttributes(LPCTSTR lpFileName );      //文件名
         返回值是获取到的文件的属性标示

       9.2 GetFileAttributesEx
        BOOL GetFileAttributesEx(LPCTSTR lpFileName,                //文件名
                      GET_FILEEX_INFO_LEVELS fInfoLevelId,      //获取文件属性信息的级别
                      LPVOID lpFileInformation               //对应级别的数据结构的地址
                      );
       9.3 设置文件属性
        BOOL SetFileAttributes( LPCTSTR lpFileName,                 //文件名 pointer to filename
                     DWORD dwFileAttributes                //属性标示

                     );

    10 文件的查找

      1 查找文件

        HANDLE FindFirstFile( LPCTSTR lpFileName,                    //查找的路径
                    LPWIN32_FIND_DATA lpFindFileData             //返回查找信息
                     );
          返回值 - 查找句柄
      2 获取查找到的结果
        BOOL FindNextFile( HANDLE hFindFile,                 //查找句柄
                  LPWIN32_FIND_DATA lpFindFileData       //返回查找信息
                 );
         返回值 - 成功是TRUE
      3 关闭查找
        BOOL FindClose( HANDLE hFindFile           //查找句柄
                );

  • 相关阅读:
    关于抽象类
    封装.继承.多态
    构造方法
    String
    无参方法与有参方法
    类和对象
    使用分层实现业务处理(二)
    使用分层实现业务处理(一)
    序列化Serializable接口
    用JSP从数据库中读取图片并显示在网页上
  • 原文地址:https://www.cnblogs.com/zjzsky/p/3475262.html
Copyright © 2020-2023  润新知