FileStream

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



C# in a Nutshell
C # in a Nutshell, Second Edition
ISBN: 0596005261
EAN: 2147483647
Year: 2005
Pages: 963

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net