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