Ich lese eine sehr große Datei mit einem NSInputStream und sende sie an ein Gerät in Paketen. Wenn der Empfänger kein Paket erhält, kann ich mit einer Paketnummer zum Absender zurücksenden, die den Startort in Bytes des fehlenden Pakets darstellt.Lies nur einen Teil einer Datei von der Festplatte in objective-c
Ich weiß, ein NSInputStream kann das Paket nicht zurückspulen und greifen, aber gibt es eine andere Möglichkeit, den angeforderten Bytebereich zu erfassen, ohne die gesamte große Datei in den Speicher zu laden?
Wenn es eine Methode [NSData dataWithContentsOfFileAtPath: inRange] gäbe, wäre sie perfekt.
Haben Sie NSInputStream bedeuten? – Tim
Ja. Ich meinte einen NSInputStream. Entschuldigung für die Verwirrung – coneybeare
Haben Sie eine Kontrolle darüber, was das Gerät macht? Könnte es möglicherweise eine Bestätigung für empfangene Pakete senden, so dass Sie Pakete im Speicher behalten und sie erneut senden, bis Sie eine Bestätigung erhalten? –