Exemplo n.º 1
0
 public System.IO.Stream OpenRead(string path, bool bLock)
 {
     if (System.IO.File.Exists(path) == false)
     {
         return(null);
     }
     System.IO.Stream fs = System.IO.File.Open(path, System.IO.FileMode.Open, System.IO.FileAccess.Read);
     try
     {
         fs.Seek(0, System.IO.SeekOrigin.End);
         int ilen = (int)fs.Position;
         fs.Seek(0, System.IO.SeekOrigin.Begin);
         if (ilen == 0)
         {
             try
             {
                 fs.Close();
             }
             catch
             {
             }
             return(null);
         }
         FakeRemoteRead rs  = new FakeRemoteRead();
         byte[]         buf = new byte[ilen];
         fs.Read(buf, 0, ilen);
         rs.RealWrite(buf, 0, ilen);
         rs.Seek(0, System.IO.SeekOrigin.Begin);
         if (bLock)
         {
             rs.lockedStream = fs;
         }
         else
         {
             fs.Close();
         }
         return(rs);
     }
     catch
     {
         try
         {
             fs.Close();
         }
         catch
         {
         }
         return(null);
     }
 }
Exemplo n.º 2
0
        public System.IO.Stream OpenRead(string path, bool bLock)
        {
            if (System.IO.File.Exists(path) == false)
            {
                return null;
            }
            System.IO.Stream fs = System.IO.File.Open(path, System.IO.FileMode.Open, System.IO.FileAccess.Read);
            try
            {
                fs.Seek(0, System.IO.SeekOrigin.End);
                int ilen = (int)fs.Position;
                fs.Seek(0, System.IO.SeekOrigin.Begin);
                if (ilen == 0)
                {
                    try
                    {
                        fs.Close();
                    }
                    catch
                    {

                    }
                    return null;
                }
                FakeRemoteRead rs = new FakeRemoteRead();
                byte[] buf = new byte[ilen];
                fs.Read(buf, 0, ilen);
                rs.RealWrite(buf, 0, ilen);
                rs.Seek(0, System.IO.SeekOrigin.Begin);
                if (bLock)
                {
                    rs.lockedStream = fs;
                }
                else
                {
                    fs.Close();
                }
                return rs;
            }
            catch
            {
                try
                {
                    fs.Close();
                }
                catch
                {

                }
                return null;
            }
        }