8

NSInputStream を使用して非常に大きなファイルを読み取り、それらをパケットでデバイスに送信しています。受信者がパケットを受信しない場合は、送信者にパケット番号を付けて送り返すことができます。これは、欠落しているパケットの開始位置をバイト単位で表したものです。

NSInputStream がパケットを巻き戻して取得できないことはわかっていますが、大きなファイル全体をメモリにロードせずに、要求されたバイト範囲を取得する別の方法はありますか?

[NSData dataWithContentsOfFileAtPath:inRange] メソッドがあれば完璧です。

4

2 に答える 2

7

NSInputStream で巻き戻すことができます:

[stream setProperty:[NSNumber numberWithInt:offset]
             forKey:NSStreamFileCurrentOffsetKey];
于 2009-09-14T03:45:08.990 に答える