Interface IVirtualFileProvider
A virtual file provider, that can returns a Stream for a given path.
public interface IVirtualFileProvider : IDisposable
- Inherited Members
- Extension Methods
Properties
RootPath
Gets or sets the root path of this provider. See remarks.
string RootPath { get; }
Property Value
- string
The root path.
Remarks
All path are relative to the root path.
Methods
CreateDirectory(string)
Creates all directories so that url exists.
void CreateDirectory(string url)
Parameters
url
stringThe URL.
DirectoryExists(string)
Determines whether the specified path points to an existing directory.
bool DirectoryExists(string url)
Parameters
url
stringThe path.
Returns
FileDelete(string)
Deletes the specified file.
void FileDelete(string url)
Parameters
url
stringThe URL.
FileExists(string)
Determines whether the specified path points to an existing file.
bool FileExists(string url)
Parameters
url
stringThe path.
Returns
FileMove(string, IVirtualFileProvider, string)
Move the specified file specified from its sourceUrl to the location pointed by destinationUrl in the destination provider. Do not overwrite, throw IOException if the file can't be moved.
void FileMove(string sourceUrl, IVirtualFileProvider destinationProvider, string destinationUrl)
Parameters
sourceUrl
stringThe source URL.
destinationProvider
IVirtualFileProviderThe destination provider.
destinationUrl
stringThe destination URL, relative to the destination provider.
FileMove(string, string)
Move the specified file specified from its sourceUrl to the location pointed by destinationUrl. Do not overwrite, throw IOException if the file can't be moved.
void FileMove(string sourceUrl, string destinationUrl)
Parameters
FileSize(string)
Returns the size of the specified file in bytes
long FileSize(string url)
Parameters
url
stringThe file or directory for which to obtain size
Returns
- long
A long value representing the file size in bytes
GetAbsolutePath(string)
Gets the absolute path for the specified local path from this provider.
string GetAbsolutePath(string path)
Parameters
path
stringThe path local to this instance.
Returns
- string
An absolute path.
GetLastWriteTime(string)
Returns the date and time the specified file or directory was last written to.
DateTime GetLastWriteTime(string url)
Parameters
url
stringThe file or directory for which to obtain write date and time information.
Returns
- DateTime
A DateTime structure set to the date and time that the specified file or directory was last written to.
ListFiles(string, string, VirtualSearchOption)
Returns the list of files from the specified path.
string[] ListFiles(string path, string searchPattern, VirtualSearchOption searchOption)
Parameters
path
stringThe path.
searchPattern
stringThe search string to match against the names of files in
path
. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.searchOption
VirtualSearchOptionOne of the enumeration values that specifies whether the search operation should include all subdirectories or only the current directory.
Returns
- string[]
A list of files from the specified path
OpenStream(string, VirtualFileMode, VirtualFileAccess, VirtualFileShare, StreamFlags)
Opens a Stream from the specified path.
Stream OpenStream(string path, VirtualFileMode mode, VirtualFileAccess access, VirtualFileShare share = VirtualFileShare.Read, StreamFlags streamFlags = StreamFlags.None)
Parameters
path
stringThe path.
mode
VirtualFileModeThe mode.
access
VirtualFileAccessThe access.
share
VirtualFileShareThe process sharing mode.
streamFlags
StreamFlagsThe type of stream needed
Returns
- Stream
The opened stream.
TryGetFileLocation(string, out string, out long, out long)
Gets the absolute path and location if the specified path physically exist on the disk in an uncompressed form (could be inside another file).
bool TryGetFileLocation(string path, out string filePath, out long start, out long end)
Parameters
path
stringThe path.
filePath
stringThe file containing the data.
start
longThe start offset in the file.
end
longThe end offset in the file (can be -1 if full file).
Returns
- bool
True if success, false if not supported and entry is found (note: even when true, the file might not actually exists).