FileStream | CF 1.0, ECMA 1.0, marshal by reference, disposable |
System.IO (mscorlib.dll) | class |
This class is the basic implementation
of Stream for
files. It implements Stream, and adds a few
methods specifically for working with files.
Handle allows you to grab the underlying system
handle to the file resource. IsAsync tells you if
the file was opened asynchronously or synchronously. If you want to
prevent other processes from accessing parts (or all) of the file,
call Lock( ). Subsequently, to free the lock, call
Unlock( ).
Note that using the Lock( ) or Unlock(
) methods is not the same as using the
lock keyword in C#. The lock
action locks only for this process, whereas the file-range locks used
in the Lock/Unlock methods are implemented at the
filesystem level and are therefore a cross-process mechanism.
public class FileStream : Stream {
// Public Constructors
public FileStream(IntPtr handle, FileAccess access);
public FileStream(IntPtr handle, FileAccess access, bool ownsHandle);
public FileStream(IntPtr handle, FileAccess access, bool ownsHandle, int bufferSize);
public FileStream(IntPtr handle, FileAccess access, bool ownsHandle, int bufferSize,
bool isAsync);
public FileStream(string path, FileMode mode);
public FileStream(string path, FileMode mode, FileAccess access);
public FileStream(string path, FileMode mode, FileAccess access, FileShare share);
public FileStream(string
path, FileMode mode, FileAccess access, FileShare share,
int bufferSize);
public FileStream(string path, FileMode mode, FileAccess access, FileShare share,
int bufferSize, bool useAsync);
// Public Instance Properties
public override bool CanRead{get; }
// overrides Stream
public override bool CanSeek{get; }
// overrides Stream
public override bool CanWrite{get; }
// overrides Stream
public virtual IntPtr Handle{get; }
public virtual bool IsAsync{get; }
public override long Length{get; }
// overrides Stream
public string Name{get; }
public override long Position{set; get; }
// overrides Stream
// Public Instance Methods
public override IAsyncResult BeginRead(byte[ ] array, int offset, int numBytes,
AsyncCallback userCallback, object stateObject)
// overrides Stream
public override IAsyncResult BeginWrite(byte[ ] array, int offset, int numBytes,
AsyncCallback userCallback, object stateObject)
// overrides Stream
public override void Close( );
// overrides Stream
public override int EndRead(IAsyncResult asyncResult);
// overrides Stream
public override void EndWrite(IAsyncResult asyncResult);
// overrides Stream
public override void Flush( );
// overrides Stream
public virtual void Lock(long position, long length);
public override int Read(in byte[ ] array, int offset, int count)
// overrides Stream
public override int ReadByte( );
// overrides Stream
public override long Seek(long offset, SeekOrigin origin);
// overrides Stream
public override void SetLength(long value);
// overrides Stream
public virtual void Unlock(long position, long length);
public override void Write(byte[ ] array, int offset, int count)
// overrides Stream
public override void WriteByte(byte value);
// overrides Stream
// Protected Instance Methods
protected virtual void Dispose(bool disposing);
protected override void Finalize( );
// overrides object
}
Hierarchy
System.Object
System.MarshalByRefObject
Stream(System.IDisposable)
FileStream
Subclasses
System.IO.IsolatedStorage.IsolatedStorageFileStream
Returned By
File.{Create( ), Open( ),
OpenRead( ), OpenWrite( )},
FileInfo.{Create( ), Open( ),
OpenRead( ), OpenWrite( )},
System.Reflection.Assembly.{GetFile( ),
GetFiles( )}
Passed To
System.Reflection.StrongNameKeyPair.StrongNameKeyPair(
)
|