FileStream.Read() è definita come:FileStream, legge il blocco dati dal grande file. Filesize più grande di int. Come impostare l'offset?
public override int Read(
byte[] array,
int offset,
int count
)
Come posso leggere alcuni byte da un offset più grande di int.MaxValue?
Diciamo che ho una molto grande di file e voglio leggere 100MB a partire dalla posizione 3147483648.
Come posso fare questo?
Ma cosa succede quando compensare va sopra int.MaxValue? Come lo gestiresti? – tayl0rs
@ tayl0rs poiché la dimensione massima dell'array per il buffer sarebbe stata superata in quel punto, è un problema controverso. Anche con il supporto di array molto grandi abilitato, non è possibile superarlo in qualsiasi dimensione; vedi "osservazioni" qui: https://msdn.microsoft.com/en-us/library/hh285054(v=vs.110).aspx (e ricorda: l'offset si riferisce all'array, non al flusso) –