| 1234567891011121314151617181920212223242526272829303132 |
- using System.IO;
- namespace UnityFS
- {
- public static class StreamExtensions
- {
- private const int BufferSize = 81920;
- public static void CopyTo(this Stream source, Stream destination, long size)
- {
- var buffer = new byte[BufferSize];
- for (var left = size; left > 0; left -= BufferSize)
- {
- int toRead = BufferSize < left ? BufferSize : (int)left;
- int read = source.Read(buffer, 0, toRead);
- destination.Write(buffer, 0, read);
- if (read != toRead)
- {
- return;
- }
- }
- }
- public static byte[] ReadAllBytes(this Stream source)
- {
- source.Position = 0;
- var bytes = new byte[source.Length];
- source.Read(bytes, 0, bytes.Length);
- return bytes;
- }
- }
- }
|