zoukankan      html  css  js  c++  java
  • C CDiskObject: Simplifying common disk operations

    http://www.codeproject.com/Articles/6415/CDiskObject-Simplifying-common-disk-operations

    Sample Image - diskobject.gif

    Introduction

    Some common disk operations are inexplicably tedious to accomplish in code: getting a list of all CPP-files from a directory, getting a list of files in a directory subtree, copying a directory subtree, or getting all EXE-files from a subtree. CDiskObject simplifies some of those common operations.

    Using the code

    The class is very simple to use. Instantiate a CDiskObject, and call away! If the ctor is called with a CWnd-pointer, the window pointed to will be used for feedback. The feedback is normally files or directories processed, and error messages.

    TRUE is returned if functions are successful. GetErrorMessage can be called to get an error message otherwise, except for FileExists, which returns FALSE if the file doesn't exist - a quite normal case.

    The public functions are:

    Files

    • BOOL FileExists( CString file )

      Returns TRUE if the file 'file' exists.

    • BOOL CreateFile( CString file )

      Creates the empty file 'file'. If 'file' contains a non-existing subdirectory, it will be created.

    • BOOL CopyFile( CString sourceFile, CString destDirectory )

      Copies 'sourceFile' to 'destDirectory'. 'destDirectory' will be created if it doesn't exist.

    • BOOL CopyFiles( CString sourceDirectory, CString destDirectory)

      Copies all files from 'sourceDirectory' to 'destDirectory'. Subdirectories are not copied (useCopyDirectory, described below, for this). 'destDirectory' will be created if it doesn't exist.

    • BOOL CopyFiles( CStringArray& files, CString destDirectory)

      Copies the files in 'files' to 'destDirectory'. Either the filenames in 'files' must be fully qualified or will be copied from the current directory. 'destDirectory' will be created if it doesn't exist.

    Directories

    • BOOL CreateDirectory( CString directory )

      Creates 'directory'. Subdirectories will also be created.

    • BOOL CopyDirectory( CString sourceDirectory, CString destDirectory)

      Copies the contents from 'sourceDirectory' to 'destDirectory'. Subdirectories will not be copied.

    • BOOL EmptyDirectory( CString directory )

      Deletes all files from 'directory'. Subdirectories will not be emptied.

    • BOOL RemoveDirectory( CString directory )

      Remove 'directory' even if it is not empty. Will not remove subdirectories.

    • BOOL CopyDirectories( CString sourceDirectory, CString destDirectory)

      Copies the contents from 'sourceDirectory' to 'destDirectory'. Subdirectories will also be copied.

    • BOOL EmptyDirectories( CString directory )

      Deletes all files from 'directory'. Subdirectories will also be emptied.

    • BOOL RemoveDirectories( CString directory )

      Removes 'directory' even if it is not empty. Will also remove subdirectories.

    Enumerations

    • BOOL EnumDirectories( CString sourceDirectory, CStringArray& directories )

      Returns a list of all subdirectories in 'sourceDirectory' in 'directories'. Subdirectories will not be enumerated.

    • BOOL EnumFilesInDirectoryWithFilter( CString filter, CString sourceDirectory, CStringArray& files, int mode = EF_ONLY_FILENAMES)

      Returns a list of all files in 'sourceDirectory' matching the filter in 'filter' in 'files'. If mode isEF_ONLY_FILENAMES (default), only the filenames will be returned. If mode is EF_FULLY_QUALIFIED, the filenames will contain the complete path. Subdirectories will not be searched.

    • BOOL EnumFilesInDirectory( CString sourceDirectory, CStringArray& files, int mode = EF_ONLY_FILENAMES )

      Returns a list of all files in 'sourceDirectory' in 'files'. If mode is EF_ONLY_FILENAMES (default), only the filenames will be returned. If mode is EF_FULLY_QUALIFIED, the filenames will contain the complete path.

    • BOOL EnumAllFiles( CString sourceDirectory, CStringArray& files )

      Returns a list of all files in 'sourceDirectory' in 'files'. The filenames will contain the complete path. Subdirectories will also be searched.

    • BOOL EnumAllFilesWithFilter( CString filter, CString sourceDirectory, CStringArray& files )

      Returns a list of all files in 'sourceDirectory' in 'files' matching 'filter'. The filenames will contain the complete path. Subdirectories will also be searched.

    Error handling

    • CString GetErrorMessage()

      Returns an error string in case of an error. If a feedback window is submitted to the ctor, the error message will be displayed there as well.

    See the downloadable documentation for additions.

  • 相关阅读:
    ArcGIS 添加 MarkerSymbol 弹出“图形符号无法序列化为 JSON”错误
    C#中为特定类型增加扩展方法
    C# 访问Oracle数据库
    SQL Server2012中时间字段为DateTime和VarChar的区别
    Visual Studio2012调试时无法命中断点
    Prism框架研究(三)
    Prism框架研究(二)
    WPF Path总结(一)
    性能测试 -- 服务器参数调整
    eclipse-->run as --> maven test 中文乱码
  • 原文地址:https://www.cnblogs.com/vipwtl/p/5923929.html
Copyright © 2011-2022 走看看