Я пытаюсь найти размер файла.Но моя длина равна нулю - PullRequest
1 голос
/ 28 февраля 2012

Я пытаюсь найти размер файла.

 NSFileHandle *output = [NSFileHandle fileHandleForWritingAtPath:self.finalPath]; 
//seek to begin of the file
[output seekToFileOffset:0];
NSData *mydata = [output availableData];
NSLog(@"length: %d", [mydata length]);

Но моя длина равна нулю. Почему?

Ответы [ 2 ]

11 голосов
/ 28 февраля 2012

availableData для чтения файлов.Если вы просто хотите узнать размер файла, вам не нужно его открывать.Просто используйте NSFileManager вот так:

NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:self.finalPath error:NULL];
unsigned long long fileSize = [attributes fileSize]; // in bytes
2 голосов
/ 24 июня 2014

[fileHandler seekToEndOfFile], это возвращает длину данных вашего файла, ваш код [output seekToFileOffset: 0] означает от 0 до 0, поэтому данных нет

...