Liest nur einen Teil einer Datei von der Festplatte in objective-c

8

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.

Ich weiß, dass ein NSInputStream das Paket nicht zurückspulen und greifen kann, 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.

    
coneybeare 12.09.2009, 19:55
quelle

2 Antworten

5

Sie können mit NSInputStream zurückspulen:

%Vor%     
Chris Suter 14.09.2009, 03:45
quelle
12

Ich denke nicht, dass es eine Standardfunktion gibt, die das tut, aber Sie könnten selbst eine schreiben, indem Sie eine Kategorie und die C stdio API verwenden:

%Vor%

Dann kannst du das:

%Vor%     
Adam Rosenfield 12.09.2009 20:16
quelle

Tags und Links