Class FSGetFiles
- Namespace
- SunamoGetFiles
- Assembly
- SunamoGetFiles.dll
Provides methods for getting files from the file system
public class FSGetFiles
- Inheritance
-
FSGetFiles
- Inherited Members
- Extension Methods
Methods
AllFilesInFolders(ILogger, IList<string>, IList<string>, SearchOption, GetFilesEveryFolderArgs?)
Gets all files from multiple folders with specified extensions
public static List<string> AllFilesInFolders(ILogger logger, IList<string> folders, IList<string> extensions, SearchOption searchOption, GetFilesEveryFolderArgs? args = null)
Parameters
loggerILoggerLogger instance
foldersIList<string>List of folder paths to search
extensionsIList<string>List of file extensions
searchOptionSearchOptionSearch option (top directory only or all directories)
argsGetFilesEveryFolderArgsOptional arguments for file search
Returns
FilesOfExtension(ILogger, string, string)
Gets files with specified extension from folder (non-recursive)
public static List<string> FilesOfExtension(ILogger logger, string folder, string extension)
Parameters
loggerILoggerLogger instance
folderstringFolder path to search
extensionstringFile extension without dot (e.g., "txt", "cs")
Returns
FilesOfExtensions(ILogger, string, GetFilesEveryFolderArgs, params string[])
Gets files grouped by extensions. Returns dictionary where keys are normalized extensions. Extensions with zero files will not be included in the dictionary. To get all extensions in a folder, use FS.AllExtensionsInFolders method.
public static Dictionary<string, List<string>> FilesOfExtensions(ILogger logger, string folder, GetFilesEveryFolderArgs args, params string[] extensionsWithDot)
Parameters
loggerILoggerLogger instance
folderstringFolder path to search
argsGetFilesEveryFolderArgsOptional arguments for file search
extensionsWithDotstring[]Extensions to search for (with dot, e.g., ".txt", ".cs")
Returns
- Dictionary<string, List<string>>
Dictionary where keys are normalized extensions and values are lists of file paths
FilesOfExtensionsArray(string, List<string>)
Gets files with any of specified extensions from folder recursively
public static List<string> FilesOfExtensionsArray(string folder, List<string> extensions)
Parameters
Returns
FilesWhichContainsAll(ILogger, object, string, IList<string>)
Gets files which contain all specified strings in their content
public static Task<List<string>> FilesWhichContainsAll(ILogger logger, object source, string mask, IList<string> list)
Parameters
loggerILoggerLogger instance
sourceobjectSource folder path or list of file paths
maskstringFile mask pattern
listIList<string>List of strings that must all be present in file content
Returns
FilterByGetFilesArgs(List<string>, IEnumerable<string>, GetFilesEveryFolderArgs)
Filters file list according to GetFilesEveryFolderArgs settings
public static void FilterByGetFilesArgs(List<string> list, IEnumerable<string> folders, GetFilesEveryFolderArgs args)
Parameters
listList<string>List of file paths to filter
foldersIEnumerable<string>Folders to process
argsGetFilesEveryFolderArgsArguments containing filter settings
GetFileInfosOfExtensions(string, SearchOption, params string[])
Gets FileInfo array for files with specified extensions
public static FileInfo[] GetFileInfosOfExtensions(string folder, SearchOption searchOption, params string[] extensions)
Parameters
folderstringFolder path to search
searchOptionSearchOptionSearch option (top directory only or all directories)
extensionsstring[]Extensions to search for
Returns
- FileInfo[]
Array of FileInfo objects
GetFilesAsync(ILogger, string, string, SearchOption, GetFilesEveryFolderArgs?)
Gets files from specified folder(s) with mask and search options. When Access Denied exception occurs, use GetFilesEveryFolder which searches in every subfolder.
public static Task<List<string>> GetFilesAsync(ILogger logger, string folder, string mask, SearchOption searchOption, GetFilesEveryFolderArgs? args = null)
Parameters
loggerILoggerLogger instance
folderstringFolder path (can be semicolon-delimited for multiple folders)
maskstringFile mask (use GetFilesOfExtensions for multiple extensions)
searchOptionSearchOptionSearch option (top directory only or all directories)
argsGetFilesEveryFolderArgsOptional arguments for file search
Returns
GetFilesEveryFolder(ILogger, string, string, bool, GetFilesEveryFolderArgs?)
Gets files from every folder
public static List<string> GetFilesEveryFolder(ILogger logger, string folder, string mask, bool isRecursive, GetFilesEveryFolderArgs? args = null)
Parameters
loggerILoggerLogger instance
folderstringRoot folder to search
maskstringFile mask (supports semicolon-separated masks)
isRecursiveboolWhether to search recursively
argsGetFilesEveryFolderArgsOptional arguments for file search
Returns
GetFilesEveryFolder(ILogger, string, string, SearchOption, GetFilesEveryFolderArgs?)
Gets files from every folder with specified search options
public static List<string> GetFilesEveryFolder(ILogger logger, string folder, string mask = "*", SearchOption searchOption = SearchOption.AllDirectories, GetFilesEveryFolderArgs? args = null)
Parameters
loggerILoggerLogger instance
folderstringRoot folder to search
maskstringFile mask (supports semicolon-separated masks)
searchOptionSearchOptionSearch option (top directory only or all directories)
argsGetFilesEveryFolderArgsOptional arguments for file search
Returns
GetFilesOfExtensions(ILogger, string, SearchOption, params string[])
Gets files with any of specified extensions
public static List<string> GetFilesOfExtensions(ILogger logger, string folder, SearchOption searchOption, params string[] extensions)
Parameters
loggerILoggerLogger instance
folderstringFolder path to search
searchOptionSearchOptionSearch option (top directory only or all directories)
extensionsstring[]Extensions to search for
Returns
GetFilesSize(List<string>)
Gets total size of files in human-readable format
public static string GetFilesSize(List<string> files)
Parameters
Returns
- string
Total size in automatically determined unit (B, KB, MB, GB, TB)
GetFilesSizes(ILogger, List<string>)
Gets file sizes for a list of files
public static List<long> GetFilesSizes(ILogger logger, List<string> files)
Parameters
Returns
GetFilesWithContentInDictionary(ILogger, string, string, SearchOption)
Gets files with their content in dictionary
public static Task<Dictionary<string, string>> GetFilesWithContentInDictionary(ILogger logger, string folder, string mask, SearchOption searchOption)
Parameters
loggerILoggerLogger instance
folderstringFolder path to search
maskstringFile mask pattern
searchOptionSearchOptionSearch option (top directory only or all directories)
Returns
- Task<Dictionary<string, string>>
Dictionary where keys are file paths and values are file contents