private long SectionedCopy(string srcFile, long startPos, string dstFile, bool sectioned)
{
byte[] buffer = new byte[1024];
int bytesRead = 0;
long savedBytes = startPos;
long fileSize = new FileInfo(srcFile).Length;
if (startPos >= fileSize)
return fileSize;
using (FileStream fsInput = new FileStream(srcFile, FileMode.Open, FileAccess.Read))
{
using(FileStream fsOutput = new FileStream(dstFile, FileMode.Append, FileAccess.Write))
{
fsInput.Seek(startPos, SeekOrigin.Begin);
while (savedBytes < fileSize)
{
bytesRead = fsInput.Read(buffer, 0, buffer.Length);
fsOutput.Write(buffer, 0, bytesRead);
savedBytes += bytesRead;
}
}
}
return savedBytes;
}
}