Table of Contents

Interface IVirtualFileProvider

Namespace
Stride.Core.IO
Assembly
Stride.Core.IO.dll

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 string

The URL.

DirectoryExists(string)

Determines whether the specified path points to an existing directory.

bool DirectoryExists(string url)

Parameters

url string

The path.

Returns

bool

FileDelete(string)

Deletes the specified file.

void FileDelete(string url)

Parameters

url string

The URL.

FileExists(string)

Determines whether the specified path points to an existing file.

bool FileExists(string url)

Parameters

url string

The path.

Returns

bool

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 string

The source URL.

destinationProvider IVirtualFileProvider

The destination provider.

destinationUrl string

The 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

sourceUrl string

The source URL of the file

destinationUrl string

The destination URL of the file

FileSize(string)

Returns the size of the specified file in bytes

long FileSize(string url)

Parameters

url string

The 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 string

The 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 string

The 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 string

The path.

searchPattern string

The 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 VirtualSearchOption

One 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 string

The path.

mode VirtualFileMode

The mode.

access VirtualFileAccess

The access.

share VirtualFileShare

The process sharing mode.

streamFlags StreamFlags

The 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 string

The path.

filePath string

The file containing the data.

start long

The start offset in the file.

end long

The 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).