In C#, the FileStream's methods Read/Write/Seek take integer in parameter. In a previous post , I have seen a good solution to read/write files that are bigger than the virtual memory allocated to a process.
This solution works if you want to write the data from the beginning to the end. But in my case, the chunks of data I am receiving are in no particular order.
I have a code that works for files smaller than 2GB :
private void WriteChunk(byte[] data, int position, int chunkSize, int count, string path)
    {
        FileStream destination = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
        BinaryWriter writer = new BinaryWriter(destination);
        writer.Seek((int) (position*chunkSize), SeekOrigin.Begin);
        writer.Write(data, 0, count);
        writer.Close();
    }
Is there a way I can seek and write my chunks in files bigger than 2GB?