| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | 
							- using System;
 
- using System.IO;
 
- namespace SharpCifs.Util.Sharpen
 
- {
 
-     public class RandomAccessFile
 
-     {
 
-         private FileStream _stream;
 
-         public RandomAccessFile(FilePath file, string mode) : this(file.GetPath(), mode)
 
-         {
 
-         }
 
-         public RandomAccessFile(string file, string mode)
 
-         {
 
-             if (mode.IndexOf('w') != -1)
 
-                 _stream = new FileStream(file, FileMode.OpenOrCreate, FileAccess.ReadWrite);
 
-             else
 
-                 _stream = new FileStream(file, FileMode.Open, FileAccess.Read);
 
-         }
 
-         public void Close()
 
-         {
 
-             //Stream.`Close` method deleted
 
-             //_stream.Close ();
 
-             _stream.Dispose();
 
-         }
 
-         public long GetFilePointer()
 
-         {
 
-             return _stream.Position;
 
-         }
 
-         public long Length()
 
-         {
 
-             return _stream.Length;
 
-         }
 
-         public int Read(byte[] buffer)
 
-         {
 
-             int r = _stream.Read(buffer, 0, buffer.Length);
 
-             return r > 0 ? r : -1;
 
-         }
 
-         public int Read(byte[] buffer, int start, int size)
 
-         {
 
-             return _stream.Read(buffer, start, size);
 
-         }
 
-         public void ReadFully(byte[] buffer, int start, int size)
 
-         {
 
-             while (size > 0)
 
-             {
 
-                 int num = _stream.Read(buffer, start, size);
 
-                 if (num == 0)
 
-                 {
 
-                     throw new EofException();
 
-                 }
 
-                 size -= num;
 
-                 start += num;
 
-             }
 
-         }
 
-         public void Seek(long pos)
 
-         {
 
-             _stream.Position = pos;
 
-         }
 
-         public void SetLength(long len)
 
-         {
 
-             _stream.SetLength(len);
 
-         }
 
-         public void Write(int value)
 
-         {
 
-             _stream.Write(BitConverter.GetBytes(value), 0, 4);
 
-         }
 
-         public void Write(byte[] buffer)
 
-         {
 
-             _stream.Write(buffer, 0, buffer.Length);
 
-         }
 
-         public void Write(byte[] buffer, int start, int size)
 
-         {
 
-             _stream.Write(buffer, start, size);
 
-         }
 
-     }
 
- }
 
 
  |