public override void FlushBuffer(byte[] src, int len) { byte[] buffer; int bufferPos = 0; while (bufferPos != len) { int bufferNumber = (int)(pointer / BUFFER_SIZE); int bufferOffset = (int)(pointer % BUFFER_SIZE); int bytesInBuffer = BUFFER_SIZE - bufferOffset; int remainInSrcBuffer = len - bufferPos; int bytesToCopy = bytesInBuffer >= remainInSrcBuffer ? remainInSrcBuffer : bytesInBuffer; if (bufferNumber == file.buffers.Count) { buffer = file.AddBuffer(BUFFER_SIZE); } else { buffer = (byte[])file.buffers[bufferNumber]; } Array.Copy(src, bufferPos, buffer, bufferOffset, bytesToCopy); bufferPos += bytesToCopy; pointer += bytesToCopy; } if (pointer > file.length) { file.SetLength(pointer); } file.SetLastModified(System.DateTime.Now.Ticks); }
public override void Flush() { file.SetLastModified((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond)); SetFileLength(); }
public override void Flush() { file.SetLastModified((System.DateTime.Now.Ticks - 621355968000000000) / 10000); SetFileLength(); }