mirror of
https://github.com/TalAloni/SMBLibrary.git
synced 2025-05-15 00:47:02 +02:00
IFileSystem: Added FileOptions parameter to OpenFile
This commit is contained in:
parent
340f55c26e
commit
03cff5e469
6 changed files with 74 additions and 238 deletions
|
@ -13,7 +13,7 @@ namespace Utilities
|
|||
public abstract void Move(string source, string destination);
|
||||
public abstract void Delete(string path);
|
||||
public abstract List<FileSystemEntry> ListEntriesInDirectory(string path);
|
||||
public abstract Stream OpenFile(string path, FileMode mode, FileAccess access, FileShare share);
|
||||
public abstract Stream OpenFile(string path, FileMode mode, FileAccess access, FileShare share, FileOptions options);
|
||||
public abstract void SetAttributes(string path, bool? isHidden, bool? isReadonly, bool? isArchived);
|
||||
public abstract void SetDates(string path, DateTime? creationDT, DateTime? lastWriteDT, DateTime? lastAccessDT);
|
||||
|
||||
|
@ -22,6 +22,11 @@ namespace Utilities
|
|||
return ListEntriesInDirectory(@"\");
|
||||
}
|
||||
|
||||
public Stream OpenFile(string path, FileMode mode, FileAccess access, FileShare share)
|
||||
{
|
||||
return OpenFile(path, mode, access, share, FileOptions.None);
|
||||
}
|
||||
|
||||
public void CopyFile(string sourcePath, string destinationPath)
|
||||
{
|
||||
const int bufferLength = 1024 * 1024;
|
||||
|
@ -41,8 +46,8 @@ namespace Utilities
|
|||
{
|
||||
destinationFile = CreateFile(destinationPath);
|
||||
}
|
||||
Stream sourceStream = OpenFile(sourcePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
||||
Stream destinationStream = OpenFile(destinationPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
|
||||
Stream sourceStream = OpenFile(sourcePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, FileOptions.SequentialScan);
|
||||
Stream destinationStream = OpenFile(destinationPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite, FileOptions.None);
|
||||
while (sourceStream.Position < sourceStream.Length)
|
||||
{
|
||||
int readSize = (int)Math.Max(bufferLength, sourceStream.Length - sourceStream.Position);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue