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); } }
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; } }