Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace _05.Slicing_File
- {
- using System.IO;
- using System;
- public class Program
- {
- public static void Main()
- {
- var source = Path.Combine(Environment.CurrentDirectory, "..\\..\\randomVideo.mp4");
- var destinationDirectory = Path.Combine(Environment.CurrentDirectory, "..\\..\\DestinationForSlices\\");
- var parts = 5;
- Slice(source, destinationDirectory, parts);
- }
- private static void Slice(string source, string destinationDirectory, int partsCount)
- {
- using (var fsReader = new FileStream(source, FileMode.Open, FileAccess.Read, FileShare.None))
- {
- var header = new byte[4096];
- var bufferSize =(int)Math.Ceiling((fsReader.Length - header.Length) / (double) partsCount );
- fsReader.Read(header, 0, header.Length);
- var buffer = new byte[bufferSize];
- for (int i = 1; i <= partsCount; i++)
- {
- fsReader.Read(buffer, 0, buffer.Length);
- var filePathInDestination = $"{destinationDirectory}Part{i}.mp4";
- using (var fsWriter = new FileStream(filePathInDestination
- , FileMode.Create))
- {
- fsWriter.Write(header, 0, header.Length);
- fsWriter.Write(buffer, 0, buffer.Length);
- }
- }
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment