Получается тогда нам нужно в начале размер файла прочитать, а потом уже все содержимое или как оно все происходит?
Размер файла записан на диске (в файловой системе). Сам файл хранится в виде кусочков в разных местах диска. Кусочки связаны друг с другом по очереди (в каждом кусочке записано, где следующий кусочек).
Собственно чтобы прочитать файл, нужно выделить какую-то область памяти для него.
Чтобы прочитать файл, выделяется небольшой буфер, в который загружается часть файла. Если ты его прочитал, то в него же загружается следующая часть файла. Ты читаешь файл как бы через окно в виде буфера, которое скользит по файлу вперёд.
Файлы бывают огромные, даже больше, чем оперативная память, но ты их спокойно можешь читать.