IsFileReady C# with Example



IsFileReady C# with Example

A common mistake a lot of people starting out with FileSystemWatcher does is not taking into account That the 
FileWatcher event is raised as soon as the file is created. However, it may take some time for the file to be finished . 
Example: 
Take a file size of 1 GB for example . The file apr ask created by another program (Explorer.exe copying it from 
somewhere) but it will take minutes to finish that process. The event is raised that creation time and you need to 
wait for the file to be ready to be copied. 
This is a method for checking if the file is ready. 
public static bool IsFileReady(String sFilename) 
{ 
// If the file can be opened for exclusive access it means that the file 
// is no longer locked by another process. 
try 
{ 
using (FileStream inputStream = File.Open(sFilename, FileMode.Open, FileAccess.Read, 
FileShare.None)) 
{ 
if (inputStream.Length > 0) 
{ 
return true; 
} 
else 
{ 
return false; 
} 
} 
} 
catch (Exception) 
{ 
return false; 
} 
} 

0 Comment's

Comment Form

Submit Comment