Show / Hide Table of Contents

Class FileSystemDirectory

Represents a directory item in a file system. This class is NOT thread-safe

Inheritance
System.Object
DisposableObject
FileSystemSessionItem
FileSystemDirectory
Implements
System.IDisposable
INamed
Inherited Members
FileSystemSessionItem.Destructor()
FileSystemSessionItem.m_FileSystem
FileSystemSessionItem.m_Session
FileSystemSessionItem.m_Handle
FileSystemSessionItem.m_Modified
FileSystemSessionItem.Handle
FileSystemSessionItem.Name
FileSystemSessionItem.Modified
FileSystemSessionItem.Path
FileSystemSessionItem.ParentPath
FileSystemSessionItem.FileSystem
FileSystemSessionItem.Session
FileSystemSessionItem.PermissionsStream
FileSystemSessionItem.MetadataStream
FileSystemSessionItem.Size
FileSystemSessionItem.GetSizeAsync()
FileSystemSessionItem.CreationTimestamp
FileSystemSessionItem.SetCreationTimestampAsync(DateTime)
FileSystemSessionItem.ModificationTimestamp
FileSystemSessionItem.SetModificationTimestampAsync(DateTime)
FileSystemSessionItem.LastAccessTimestamp
FileSystemSessionItem.SetLastAccessTimestampAsync(DateTime)
FileSystemSessionItem.CreationUser
FileSystemSessionItem.GetCreationUserAsync()
FileSystemSessionItem.ModificationUser
FileSystemSessionItem.GetModificationUserAsync()
FileSystemSessionItem.LastAccessUser
FileSystemSessionItem.GetLastAccessUserAsync()
FileSystemSessionItem.ReadOnly
FileSystemSessionItem.SetReadOnlyAsync(Boolean)
FileSystemSessionItem.IsReadOnly
FileSystemSessionItem.CheckCanChange()
FileSystemSessionItem.CheckCanChangeAsync()
FileSystemSessionItem.Rename(String)
FileSystemSessionItem.RenameAsync(String)
FileSystemSessionItem.Delete()
FileSystemSessionItem.DeleteAsync()
FileSystemSessionItem.Refresh()
FileSystemSessionItem.RefreshAsync()
FileSystemSessionItem.ToString()
DisposableObject.DisposeAndNull<T>(T)
DisposableObject.DisposeStarted
DisposableObject.Disposed
DisposableObject.EnsureObjectNotDisposed()
DisposableObject.Dispose()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: NFX.IO.FileSystem
Assembly: NFX.dll
Syntax
public sealed class FileSystemDirectory : FileSystemSessionItem, IDisposable, INamed

Constructors

FileSystemDirectory(FileSystemSession, String, String, IFileSystemHandle)

Internal method that should not be called by developers

Declaration
public FileSystemDirectory(FileSystemSession session, string parentPath, string name, IFileSystemHandle handle)
Parameters
Type Name Description
FileSystemSession session
System.String parentPath
System.String name
IFileSystemHandle handle

Properties

FileNames

Returns file names contained in this directory

Declaration
public IEnumerable<string> FileNames { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<System.String>

Item[String]

Navigates to the specified path relative to this directory

Declaration
public FileSystemSessionItem this[string path] { get; }
Parameters
Type Name Description
System.String path

Path relative to this directory to navigate to

Property Value
Type Description
FileSystemSessionItem

FileSystemSessionItem instance - a directory or a file

RecursiveFileNames

Returns file names contained in this directory and all subdirectories

Declaration
public IEnumerable<string> RecursiveFileNames { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<System.String>

RecursiveSubDirectoryNames

Returns directory names contained in this directory and all subdirectories

Declaration
public IEnumerable<string> RecursiveSubDirectoryNames { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<System.String>

SubDirectoryNames

Returns directory names contained in this directory

Declaration
public IEnumerable<string> SubDirectoryNames { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<System.String>

Methods

CreateDirectory(String)

Creates a directory in this directory

Declaration
public FileSystemDirectory CreateDirectory(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
FileSystemDirectory

CreateDirectoryAsync(String)

Async version of CreateDirectory(String)

Declaration
public Task<FileSystemDirectory> CreateDirectoryAsync(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
System.Threading.Tasks.Task<FileSystemDirectory>

CreateFile(String, Int32)

Creates a new file optionally pre-allocating te specified number of bytes

Declaration
public FileSystemFile CreateFile(string name, int size = 0)
Parameters
Type Name Description
System.String name
System.Int32 size
Returns
Type Description
FileSystemFile

CreateFile(String, String, Boolean)

Puts local existing file into file system

Declaration
public FileSystemFile CreateFile(string name, string localFilePath, bool readOnly = false)
Parameters
Type Name Description
System.String name

File system file name

System.String localFilePath

Local system file name

System.Boolean readOnly

Indictaes whether the newly created file should be readonly

Returns
Type Description
FileSystemFile

FileSystemFile instance

CreateFileAsync(String, Int32)

Async version of CreateFile(String, Int32)

Declaration
public Task<FileSystemFile> CreateFileAsync(string name, int size = 0)
Parameters
Type Name Description
System.String name
System.Int32 size
Returns
Type Description
System.Threading.Tasks.Task<FileSystemFile>

CreateFileAsync(String, String, Boolean)

Async version of CreateFile(String, String, Boolean)

Declaration
public Task<FileSystemFile> CreateFileAsync(string name, string localFilePath, bool readOnly = false)
Parameters
Type Name Description
System.String name
System.String localFilePath
System.Boolean readOnly
Returns
Type Description
System.Threading.Tasks.Task<FileSystemFile>

DeepCopyTo(FileSystemDirectory, FileSystemDirectory.DirCopyFlags, Int32, Func<FileSystemSessionItem, Boolean>, Func<FileSystemSessionItem, Boolean>)

Performs a deep copy of this directory into another directory that may belong to a different file system. This method allows to copy directory trees between different file systems i.e. from SVN into AmazonS3 or local file system etc.

Declaration
public void DeepCopyTo(FileSystemDirectory target, FileSystemDirectory.DirCopyFlags flags = FileSystemDirectory.DirCopyFlags.Directories | FileSystemDirectory.DirCopyFlags.Files | FileSystemDirectory.DirCopyFlags.Security | FileSystemDirectory.DirCopyFlags.Metadata | FileSystemDirectory.DirCopyFlags.Timestamps | FileSystemDirectory.DirCopyFlags.Readonly | FileSystemDirectory.DirCopyFlags.FilesAndDirsOnly | FileSystemDirectory.DirCopyFlags.All, int bufferSize = 65536, Func<FileSystemSessionItem, bool> filter = null, Func<FileSystemSessionItem, bool> cancel = null)
Parameters
Type Name Description
FileSystemDirectory target

Target directory where the files will be placed. It's name does not have to be the same as the source's name

FileSystemDirectory.DirCopyFlags flags

Copy flags that specify what to copy

System.Int32 bufferSize

Copy buffer size

System.Func<FileSystemSessionItem, System.Boolean> filter

Optional filter function

System.Func<FileSystemSessionItem, System.Boolean> cancel

Optional cancellation function. Return true to abort copying

DeepCopyToAsync(FileSystemDirectory, FileSystemDirectory.DirCopyFlags, Int32, Func<FileSystemSessionItem, Boolean>, Func<FileSystemSessionItem, Boolean>)

Async version of DeepCopyTo(...)

Declaration
public Task DeepCopyToAsync(FileSystemDirectory target, FileSystemDirectory.DirCopyFlags flags = FileSystemDirectory.DirCopyFlags.Directories | FileSystemDirectory.DirCopyFlags.Files | FileSystemDirectory.DirCopyFlags.Security | FileSystemDirectory.DirCopyFlags.Metadata | FileSystemDirectory.DirCopyFlags.Timestamps | FileSystemDirectory.DirCopyFlags.Readonly | FileSystemDirectory.DirCopyFlags.FilesAndDirsOnly | FileSystemDirectory.DirCopyFlags.All, int bufferSize = 65536, Func<FileSystemSessionItem, bool> filter = null, Func<FileSystemSessionItem, bool> cancel = null)
Parameters
Type Name Description
FileSystemDirectory target
FileSystemDirectory.DirCopyFlags flags
System.Int32 bufferSize
System.Func<FileSystemSessionItem, System.Boolean> filter
System.Func<FileSystemSessionItem, System.Boolean> cancel
Returns
Type Description
System.Threading.Tasks.Task

GetFile(String)

Gets file in this directory or null if it does not exist or not a file

Declaration
public FileSystemFile GetFile(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
FileSystemFile

GetFileAsync(String)

Async version of GetFile(String)

Declaration
public Task<FileSystemFile> GetFileAsync(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
System.Threading.Tasks.Task<FileSystemFile>

GetFileNamesAsync()

Async version of FileNames

Declaration
public Task<IEnumerable<string>> GetFileNamesAsync()
Returns
Type Description
System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<System.String>>

GetItemAsync(String)

Async version of Item(string)

Declaration
public Task<FileSystemSessionItem> GetItemAsync(string path)
Parameters
Type Name Description
System.String path
Returns
Type Description
System.Threading.Tasks.Task<FileSystemSessionItem>

GetRecursiveFileNamesAsync()

Async version of RecursiveFileNames

Declaration
public Task<IEnumerable<string>> GetRecursiveFileNamesAsync()
Returns
Type Description
System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<System.String>>

GetRecursiveSubDirectoryNamesAsync()

Async version of RecursiveSubDirectoryNames

Declaration
public Task<IEnumerable<string>> GetRecursiveSubDirectoryNamesAsync()
Returns
Type Description
System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<System.String>>

GetSubDirectory(String)

Gets dubdirectory in this directory or null if it does not exist or not a directory

Declaration
public FileSystemDirectory GetSubDirectory(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
FileSystemDirectory

GetSubDirectoryAsync(String)

Async version of GetFile(String)

Declaration
public Task<FileSystemDirectory> GetSubDirectoryAsync(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
System.Threading.Tasks.Task<FileSystemDirectory>

GetSubDirectoryNamesAsync()

Async version of SubDirectoryNames

Declaration
public Task<IEnumerable<string>> GetSubDirectoryNamesAsync()
Returns
Type Description
System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<System.String>>

Implements

System.IDisposable
INamed

Extension Methods

MiscUtils.NonNull<T>(T, Func<Exception>, String)
ObjectValueConversion.AsString(Object, String, ConvertErrorHandling)
ObjectValueConversion.AsNonNullOrEmptyString(Object)
ObjectValueConversion.AsLaconicConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsJSONConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsXMLConfig(Object, ConfigSectionNode, ConvertErrorHandling)
ObjectValueConversion.AsChar(Object, Char, ConvertErrorHandling)
ObjectValueConversion.AsNullableChar(Object, Nullable<Char>, ConvertErrorHandling)
ObjectValueConversion.AsByte(Object, Byte, ConvertErrorHandling)
ObjectValueConversion.AsNullableByte(Object, Nullable<Byte>, ConvertErrorHandling)
ObjectValueConversion.AsSByte(Object, SByte, ConvertErrorHandling)
ObjectValueConversion.AsNullableSByte(Object, Nullable<SByte>, ConvertErrorHandling)
ObjectValueConversion.AsShort(Object, Int16, ConvertErrorHandling)
ObjectValueConversion.AsNullableShort(Object, Nullable<Int16>, ConvertErrorHandling)
ObjectValueConversion.AsUShort(Object, UInt16, ConvertErrorHandling)
ObjectValueConversion.AsNullableUShort(Object, Nullable<UInt16>, ConvertErrorHandling)
ObjectValueConversion.AsInt(Object, Int32, ConvertErrorHandling)
ObjectValueConversion.AsNullableInt(Object, Nullable<Int32>, ConvertErrorHandling)
ObjectValueConversion.AsUInt(Object, UInt32, ConvertErrorHandling)
ObjectValueConversion.AsNullableUInt(Object, Nullable<UInt32>, ConvertErrorHandling)
ObjectValueConversion.AsLong(Object, Int64, ConvertErrorHandling)
ObjectValueConversion.AsNullableLong(Object, Nullable<Int64>, ConvertErrorHandling)
ObjectValueConversion.AsULong(Object, UInt64, ConvertErrorHandling)
ObjectValueConversion.AsNullableULong(Object, Nullable<UInt64>, ConvertErrorHandling)
ObjectValueConversion.AsDouble(Object, Double, ConvertErrorHandling)
ObjectValueConversion.AsNullableDouble(Object, Nullable<Double>, ConvertErrorHandling)
ObjectValueConversion.AsFloat(Object, Single, ConvertErrorHandling)
ObjectValueConversion.AsNullableFloat(Object, Nullable<Single>, ConvertErrorHandling)
ObjectValueConversion.AsDecimal(Object, Decimal, ConvertErrorHandling)
ObjectValueConversion.AsNullableDecimal(Object, Nullable<Decimal>, ConvertErrorHandling)
ObjectValueConversion.AsBool(Object, Boolean, ConvertErrorHandling)
ObjectValueConversion.AsNullableBool(Object, Nullable<Boolean>, ConvertErrorHandling)
ObjectValueConversion.AsGUID(Object, Guid, ConvertErrorHandling)
ObjectValueConversion.AsNullableGUID(Object, Nullable<Guid>, ConvertErrorHandling)
ObjectValueConversion.AsDateTime(Object)
ObjectValueConversion.AsDateTime(Object, DateTime, ConvertErrorHandling)
ObjectValueConversion.AsNullableDateTime(Object, Nullable<DateTime>, ConvertErrorHandling)
ObjectValueConversion.AsGDID(Object)
ObjectValueConversion.AsGDID(Object, GDID, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDID(Object, Nullable<GDID>, ConvertErrorHandling)
ObjectValueConversion.AsGDIDSymbol(Object)
ObjectValueConversion.AsGDIDSymbol(Object, GDIDSymbol, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDIDSymbol(Object, Nullable<GDIDSymbol>, ConvertErrorHandling)
ObjectValueConversion.AsTimeSpan(Object)
ObjectValueConversion.AsTimeSpan(Object, TimeSpan, ConvertErrorHandling)
ObjectValueConversion.AsNullableTimeSpan(Object, Nullable<TimeSpan>, ConvertErrorHandling)
ObjectValueConversion.AsEnum<TEnum>(Object, TEnum, ConvertErrorHandling)
ObjectValueConversion.AsNullableEnum<TEnum>(Object, Nullable<TEnum>, ConvertErrorHandling)
ObjectValueConversion.AsUri(Object, Uri, ConvertErrorHandling)
JSONExtensions.ToJSON(Object, JSONWritingOptions)
JSONExtensions.ToJSON(Object, TextWriter, JSONWritingOptions)
JSONExtensions.ToJSON(Object, Stream, JSONWritingOptions, Encoding)
ManifestUtils.GeneratePackagingManifest(FileSystemDirectory, String, String, String)
ErlObject.ToErlObject(Object)
ErlObject.ToErlObject(Object, ErlTypeOrder, Boolean)
Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX