private static CopyStreamWithProgress ( Stream source, Stream dest, int &filesDone, long &bytesDone, byte tempBuffer, long len = -1 ) : void | ||
source | Stream | |
dest | Stream | |
filesDone | int | |
bytesDone | long | |
tempBuffer | byte | |
len | long | |
Результат | void |
private static void CopyStreamWithProgress(Stream source, Stream dest, ref int filesDone, ref long bytesDone, byte[] tempBuffer, long len = -1)
{
long done = 0;
if (len < 0)
len = source.Length;
while (done < len)
{
long todo = Math.Min(tempBuffer.LongLength, len - done);
int cdone = source.Read(tempBuffer, 0, (int)todo);
if (cdone <= 0)
break;
dest.Write(tempBuffer, 0, cdone);
done += cdone;
bytesDone += cdone;
}
filesDone++;
}