/// <summary> /// Returns an enumerable collection of directory names in a specified path. /// </summary> /// <param name="path">The directory to search.</param> /// <param name="pattern">Search pattern. Uses Win32 native filtering.</param> /// <param name="searchOption"><see cref="SearchOption"/></param> /// <param name="pathFormatReturn">Specifies the type of path to return.</param> /// <param name="enumerateOptions">Options <see cref="QuickIOEnumerateOptions"/></param> /// <returns>An enumerable collection of the full names (including paths) for the directories in the directory specified by path.</returns> /// <remarks>http://msdn.microsoft.com/en-us/library/dd383304(v=vs.110).aspx</remarks> public static IEnumerable <string> EnumerateDirectoryPaths(string path, String pattern = QuickIOPatterns.PathMatchAll, SearchOption searchOption = SearchOption.TopDirectoryOnly, QuickIOPathType pathFormatReturn = QuickIOPathType.Regular, QuickIOEnumerateOptions enumerateOptions = QuickIOEnumerateOptions.None) { Contract.Requires(!String.IsNullOrWhiteSpace(path)); Contract.Requires(!String.IsNullOrWhiteSpace(pattern)); return(InternalEnumerateFileSystem.EnumerateSystemPaths(path, pattern, searchOption, enumerateOptions, pathFormatReturn, QuickIOFileSystemEntryType.Directory)); }
/// <summary> /// Returns an enumerable collection of files in a specified path. /// </summary> /// <param name="path">The directory to search. </param> /// <param name="pattern">Search pattern. Uses Win32 native filtering.</param> /// <param name="searchOption"><see cref="SearchOption"/></param> /// <param name="enumerateOptions">Options <see cref="QuickIOEnumerateOptions"/></param> /// <returns>An enumerable collection of the full names (including paths) for the files in the directory specified by path.</returns> /// <remarks>http://msdn.microsoft.com/en-us/library/dd383458(v=vs.110).aspx</remarks> /// <example> /// <code> /// // Get subfiles /// IEnumerable<QuickIOFileInfo> allSubFiles = QuickIODirectory.EnumerateFiles( @"C:\temp\QuickIO", SearchOption.AllDirectories ); /// /// foreach ( QuickIOFileInfo fileInfo in allSubFiles ) /// { /// Console.WriteLine( "File found: {0} Readonly: {1}", fileInfo.Path, fileInfo.IsReadOnly ); /// } ///</code> /// </example> public static IEnumerable <QuickIOFileInfo> EnumerateFiles(string path, String pattern = QuickIOPatterns.PathMatchAll, SearchOption searchOption = SearchOption.TopDirectoryOnly, QuickIOEnumerateOptions enumerateOptions = QuickIOEnumerateOptions.None) { Contract.Requires(!String.IsNullOrWhiteSpace(path)); Contract.Requires(!String.IsNullOrWhiteSpace(pattern)); return(InternalEnumerateFileSystem.EnumerateFiles(path, pattern, searchOption, enumerateOptions)); }
/// <summary> /// Receives <see cref="QuickIODirectoryMetadata"/> of current directory /// </summary> /// <returns><see cref="QuickIODirectoryMetadata"/></returns> public static QuickIODirectoryMetadata EnumerateDirectoryMetadata(String path, QuickIOEnumerateOptions enumerateOptions = QuickIOEnumerateOptions.None) { Contract.Requires(!String.IsNullOrWhiteSpace(path)); Contract.Ensures(Contract.Result <QuickIODirectoryMetadata>() != null); return(InternalEnumerateFileSystem.EnumerateDirectoryMetadata(path, enumerateOptions)); }
/// <summary> /// Returns an enumerable collection of directories in a specified path. /// </summary> /// <param name="path">The directory to search.</param> /// <param name="pattern">Search pattern. Uses Win32 native filtering.</param> /// <param name="searchOption"><see cref="SearchOption"/></param> /// <param name="enumerateOptions">Options <see cref="QuickIOEnumerateOptions"/></param> /// <returns>An enumerable collection of the full names (including paths) for the directories in the directory specified by path.</returns> /// <remarks>http://msdn.microsoft.com/en-us/library/dd383304(v=vs.110).aspx</remarks> /// <example> /// <code> /// // Get subfolders /// IEnumerable>QuickIODirectoryInfo< allSubFolders = QuickIODirectory.EnumerateDirectories( @"C:\temp\QuickIO", SearchOption.AllDirectories ); /// /// foreach ( QuickIODirectoryInfo directoryInfo in allSubFolders ) /// { /// Console.WriteLine( "Directory found: {0} Readonly: {1}", directoryInfo.Path, directoryInfo.IsReadOnly ); /// } /// </code> /// </example> public static IEnumerable <QuickIODirectoryInfo> EnumerateDirectories(string path, String pattern = QuickIOPatterns.PathMatchAll, SearchOption searchOption = SearchOption.TopDirectoryOnly, QuickIOEnumerateOptions enumerateOptions = QuickIOEnumerateOptions.None) { return(InternalEnumerateFileSystem.EnumerateDirectories(path, pattern, searchOption, enumerateOptions)); }
/// <summary> /// Returns an enumerable collection of file names in a specified path. /// </summary> /// <param name="path">The directory to search. </param> /// <param name="pattern">Search pattern. Uses Win32 native filtering.</param> /// <param name="searchOption"><see cref="SearchOption"/></param> /// <param name="pathFormatReturn">Specifies the type of path to return.</param> /// <param name="enumerateOptions">Options <see cref="QuickIOEnumerateOptions"/></param> /// <returns>An enumerable collection of the full names (including paths) for the files in the directory specified by path.</returns> /// <remarks>http://msdn.microsoft.com/en-us/library/dd383458(v=vs.110).aspx</remarks> public static IEnumerable <string> EnumerateFilePaths(string path, String pattern = QuickIOPatterns.PathMatchAll, SearchOption searchOption = SearchOption.TopDirectoryOnly, QuickIOPathType pathFormatReturn = QuickIOPathType.Regular, QuickIOEnumerateOptions enumerateOptions = QuickIOEnumerateOptions.None) { return(InternalEnumerateFileSystem.EnumerateSystemPaths(path, pattern, searchOption, enumerateOptions, pathFormatReturn, QuickIOFileSystemEntryType.File)); }