Table of Contents

Class FileSystemProvider

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

A file system implementation for IVirtualFileProvider.

public class FileSystemProvider : VirtualFileProviderBase, IVirtualFileProvider, IDisposable
Inheritance
FileSystemProvider
Implements
Derived
Inherited Members
Extension Methods

Constructors

FileSystemProvider(string, string)

Initializes a new instance of the FileSystemProvider class with the given base path.

public FileSystemProvider(string rootPath, string localBasePath)

Parameters

rootPath string

The root path of this provider.

localBasePath string

The path to a local directory where this instance will load the files from.

Fields

AltDirectorySeparatorChar

public static readonly char AltDirectorySeparatorChar

Field Value

char

DirectorySeparatorChar

public static readonly char DirectorySeparatorChar

Field Value

char

VolumeSeparatorChar

public static readonly char VolumeSeparatorChar

Field Value

char

Methods

ChangeBasePath(string)

public void ChangeBasePath(string basePath)

Parameters

basePath string

ConvertFullPathToUrl(string)

protected virtual string ConvertFullPathToUrl(string path)

Parameters

path string

Returns

string

ConvertUrlToFullPath(string)

protected virtual string ConvertUrlToFullPath(string url)

Parameters

url string

Returns

string

CreateDirectory(string)

Creates all directories so that url exists.

public override void CreateDirectory(string url)

Parameters

url string

The URL.

DirectoryExists(string)

Determines whether the specified path points to an existing directory.

public override bool DirectoryExists(string url)

Parameters

url string

The path.

Returns

bool

FileDelete(string)

Deletes the specified file.

public override void FileDelete(string url)

Parameters

url string

The URL.

FileExists(string)

Determines whether the specified path points to an existing file.

public override 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.

public override 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.

public override 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

public override 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.

public override 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.

public override 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.

public override string[] ListFiles(string url, string searchPattern, VirtualSearchOption searchOption)

Parameters

url string
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.

public override Stream OpenStream(string url, VirtualFileMode mode, VirtualFileAccess access, VirtualFileShare share = VirtualFileShare.Read, StreamFlags streamType = StreamFlags.None)

Parameters

url string
mode VirtualFileMode

The mode.

access VirtualFileAccess

The access.

share VirtualFileShare

The process sharing mode.

streamType StreamFlags

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

public override 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).