Подтвердить что ты не робот

Поиск размера файла

В моем приложении iPhone я использую следующий код, чтобы найти размер файла. Несмотря на то, что файл существует, я вижу нуль для размера. Может кто-нибудь мне помочь? Спасибо заранее.

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *URL = [documentsDirectory stringByAppendingPathComponent:@"XML/Extras/Approval.xml"];

NSLog(@"URL:%@",URL);
NSError *attributesError = nil;
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:URL error:&attributesError];

int fileSize = [fileAttributes fileSize];
4b9b3361

Ответ 1

Попробуйте это;

NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:URL error:&attributesError];

NSNumber *fileSizeNumber = [fileAttributes objectForKey:NSFileSize];
long long fileSize = [fileSizeNumber longLongValue];

Обратите внимание, что fileSize не обязательно будет вписываться в целое число (особенно подписанное), хотя вы, безусловно, можете отказаться от использования iOS, поскольку в действительности вы никогда не превысите его. Пример длится долго, так как в моем коде я должен быть совместим с системами с гораздо большим хранилищем.

Ответ 2

Один вкладыш в Swift:

let fileSize = try! NSFileManager.defaultManager().attributesOfItemAtPath(fileURL.path!)[NSFileSize]!.longLongValue