An Example (note: I just combined two google results, you may have to fix minor errors ;))
The important part is the FileShare.ReadWrite
when opening the FileStream.
I use a similar code to open and read Excel documents while excel is still open and blocking the file.
using (var inputFile = new FileStream(
"oldFile.txt",
FileMode.Open,
FileAccess.Read,
FileShare.ReadWrite))
{
using (var outputFile = new FileStream("newFile.txt", FileMode.Create))
{
var buffer = new byte[0x10000];
int bytes;
while ((bytes = inputFile.Read(buffer, 0, buffer.Length)) > 0)
{
outputFile.Write(buffer, 0, bytes);
}
}
}