using System; using System.IO; using System.Collections.Generic; using System.Text; namespace MediaBrowser.Common.IO { /// /// Interface IFileSystem /// public interface IFileSystem { /// /// Determines whether the specified filename is shortcut. /// /// The filename. /// true if the specified filename is shortcut; otherwise, false. bool IsShortcut(string filename); /// /// Resolves the shortcut. /// /// The filename. /// System.String. string ResolveShortcut(string filename); /// /// Creates the shortcut. /// /// The shortcut path. /// The target. void CreateShortcut(string shortcutPath, string target); /// /// Gets the file system info. /// /// The path. /// FileSystemInfo. FileSystemInfo GetFileSystemInfo(string path); /// /// Gets the valid filename. /// /// The filename. /// System.String. string GetValidFilename(string filename); /// /// Gets the creation time UTC. /// /// The info. /// DateTime. DateTime GetCreationTimeUtc(FileSystemInfo info); /// /// Gets the last write time UTC. /// /// The information. /// DateTime. DateTime GetLastWriteTimeUtc(FileSystemInfo info); /// /// Gets the last write time UTC. /// /// The path. /// DateTime. DateTime GetLastWriteTimeUtc(string path); /// /// Gets the file stream. /// /// The path. /// The mode. /// The access. /// The share. /// if set to true [is asynchronous]. /// FileStream. Stream GetFileStream(string path, FileMode mode, FileAccess access, FileShare share, bool isAsync = false); Stream OpenRead(String path); /// /// Swaps the files. /// /// The file1. /// The file2. void SwapFiles(string file1, string file2); /// /// Determines whether [contains sub path] [the specified parent path]. /// /// The parent path. /// The path. /// true if [contains sub path] [the specified parent path]; otherwise, false. bool ContainsSubPath(string parentPath, string path); /// /// Determines whether [is root path] [the specified path]. /// /// The path. /// true if [is root path] [the specified path]; otherwise, false. bool IsRootPath(string path); /// /// Normalizes the path. /// /// The path. /// System.String. string NormalizePath(string path); /// /// Substitutes the path. /// /// The path. /// From. /// To. /// System.String. string SubstitutePath(string path, string from, string to); /// /// Gets the file name without extension. /// /// The information. /// System.String. string GetFileNameWithoutExtension(FileSystemInfo info); /// /// Gets the file name without extension. /// /// The path. /// System.String. string GetFileNameWithoutExtension(string path); /// /// Determines whether [is path file] [the specified path]. /// /// The path. /// true if [is path file] [the specified path]; otherwise, false. bool IsPathFile(string path); /// /// Deletes the file. /// /// The path. void DeleteFile(string path); /// /// Deletes the directory. /// /// The path. /// if set to true [recursive]. void DeleteDirectory(string path, bool recursive); IEnumerable GetDirectories(string path, bool recursive = false); IEnumerable GetFiles(string path, bool recursive = false); IEnumerable GetFileSystemEntries(string path, bool recursive = false); void CreateDirectory(string path); void CopyFile(string source, string target, bool overwrite); void MoveFile(string source, string target); void MoveDirectory(string source, string target); bool DirectoryExists(string path); bool FileExists(string path); string ReadAllText(string path); void WriteAllText(string path, string text); void WriteAllText(string path, string text, Encoding encoding); string ReadAllText(string path, Encoding encoding); IEnumerable GetDirectoryPaths(string path, bool recursive = false); IEnumerable GetFilePaths(string path, bool recursive = false); IEnumerable GetFileSystemEntryPaths(string path, bool recursive = false); } }