If the file is locked by the process exclusively, it is not possible to open those files. But if the process holds only shared lock, we can open the file using c# using the following code,
FileStream objf = new FileStream(”Ouput.xls”, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
Excel hold the shared lock on the files.
The Following is an example program to read a file,
- using System.IO;
- public static byte[] ReadFile(string filePath)
- {
- byte[] buffer;
- FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
- try
- {
- int length = (int)fileStream.Length; // get file length
- buffer = new byte[length]; // create buffer
- int count; // actual number of bytes read
- int sum = 0; // total number of bytes read
- // read until Read method returns 0 (end of the stream has been reached)
- while ((count = fileStream.Read(buffer, sum, length - sum)) > 0)
- sum += count; // sum is a buffer offset for next reading
- }
- finally
- {
- fileStream.Close();
- }
- return buffer;
- }
Comments (0)
Post a Comment