/// <inheritdoc/> public override void CreateDirectory(string url) { var path = ConvertUrlToFullPath(url); try { NativeFile.DirectoryCreate(path); } catch (Exception ex) { throw new InvalidOperationException("Unable to create directory [{0}]".ToFormat(path), ex); } }
/// <inheritdoc/> public override void FileMove(string sourceUrl, IVirtualFileProvider destinationProvider, string destinationUrl) { var fsProvider = destinationProvider as FileSystemProvider; if (fsProvider != null) { destinationProvider.CreateDirectory(destinationUrl.Substring(0, destinationUrl.LastIndexOf(VirtualFileSystem.DirectorySeparatorChar))); NativeFile.FileMove(ConvertUrlToFullPath(sourceUrl), fsProvider.ConvertUrlToFullPath(destinationUrl)); } else { using (Stream sourceStream = OpenStream(sourceUrl, VirtualFileMode.Open, VirtualFileAccess.Read), destinationStream = destinationProvider.OpenStream(destinationUrl, VirtualFileMode.CreateNew, VirtualFileAccess.Write)) { sourceStream.CopyTo(destinationStream); } NativeFile.FileDelete(sourceUrl); } }
public override bool DirectoryExists(string url) { var path = ConvertUrlToFullPath(url); return(NativeFile.DirectoryExists(path)); }
/// <inheritdoc/> public override void FileMove(string sourceUrl, string destinationUrl) { NativeFile.FileMove(ConvertUrlToFullPath(sourceUrl), ConvertUrlToFullPath(destinationUrl)); }
/// <inheritdoc/> public override void FileDelete(string url) { NativeFile.FileDelete(ConvertUrlToFullPath(url)); }
public override long FileSize(string url) { return(NativeFile.FileSize(ConvertUrlToFullPath(url))); }
/// <inheritdoc/> public override bool FileExists(string url) { return(NativeFile.FileExists(ConvertUrlToFullPath(url))); }