/// <summary> /// /// </summary> /// <param name="Path"></param> /// <returns></returns> public IEnumerable <FileSystemEntry> FindFiles(String Path) { FileSystem NewFileSystem; String NewPath; Access(Path, out NewFileSystem, out NewPath); return(NewFileSystem.FindMountedFiles(NewPath) .Concat(NewFileSystem.ImplFindFiles(NewPath)) .DistinctByKey(FileSystemEntry => FileSystemEntry.Name) .Select(FileSystemEntry => FilterFileSystemEntry(FileSystemEntry)) ); }
/// <summary> /// /// </summary> /// <param name="Path"></param> /// <param name="Mode"></param> /// <param name="ThrowErrorIfNotExists"></param> public void CreateDirectory(String Path, int Mode = 0777, bool ThrowErrorIfNotExists = true) { FileSystem NewFileSystem; String NewPath; Access(Path, out NewFileSystem, out NewPath); if (ThrowErrorIfNotExists) { NewFileSystem.ImplCreateDirectory(NewPath, Mode); } else { try { NewFileSystem.ImplCreateDirectory(NewPath, Mode); } catch { } } }
/// <summary> /// /// </summary> /// <param name="FileName"></param> /// <param name="FileMode"></param> /// <returns></returns> public FileSystemFileStream OpenFile(String FileName, FileMode FileMode) { FileSystem NewFileSystem; String NewFileName; Access(FileName, out NewFileSystem, out NewFileName); return(NewFileSystem.ImplOpenFile(NewFileName, FileMode)); }
/// <summary> /// /// </summary> /// <param name="Path"></param> public void DeleteDirectory(String Path) { FileSystem NewFileSystem; String NewPath; Access(Path, out NewFileSystem, out NewPath); NewFileSystem.ImplDeleteDirectory(NewPath); }
/// <summary> /// /// </summary> /// <param name="Path"></param> /// <returns></returns> public FileSystemEntry GetFileInfo(String Path) { FileSystem NewFileSystem; String NewPath; Access(Path, out NewFileSystem, out NewPath); return(NewFileSystem.ImplGetFileInfo(NewPath)); }
/// <summary> /// /// </summary> /// <param name="Path"></param> /// <param name="FileTime"></param> public void SetFileTime(String Path, FileSystemEntry.FileTime FileTime) { FileSystem NewFileSystem; String NewPath; Access(Path, out NewFileSystem, out NewPath); NewFileSystem.ImplSetFileTime(NewPath, FileTime); }