Я новичок в объективе-c. У меня есть путь к файлу, содержащемуся в NSString, и я хочу получить размер файла. Я нашел это example и изменил устаревший код с атрибутамиOfItemAtPath: error: но путь всегда недействителен.Получить файл с заданным путем
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSString *path = @"~/Library/Safari/History.plist";
NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath: path error: NULL];
if (fileAttributes != nil) {
NSNumber *fileSize;
if (fileSize == [fileAttributes objectForKey:NSFileSize]) {
NSLog(@"File size: %qi\n", [fileSize unsignedLongLongValue]);
}
}
else {
NSLog(@"Path (%@) is invalid.", pPath);
}
[NSFileManager release];
Я думаю, что проблема не в тильде (~), а в NSString * path = @ "Whatever.txt"; код не работает. – Joannes
Вы пытались использовать 'nil' вместо' NULL' при обработке ошибок? Код, который я опубликовал, проверен и используется в некоторых моих приложениях, поэтому я уверен, что он работает. Попробуйте ** полный путь **, например. **/Пользователи/USERNAME/Library/Safari/History.plist ** и используйте 'defaultMangaer'' NSFileManager' вместо создания собственного экземпляра. [Здесь (http://pastebin.com/XBBCvqGu)](http://pastebin.com/XBBCvqGu) Я написал фрагмент кода, который делает то, что вы ищете: он протестирован и работает. – Sylter
Я пробовал ноль, и нет ошибки, но код не работает. В консоли я попробовал ваш код, и все в порядке, но мне нужно ввести ваше имя пользователя. как я могу не сказать? только /Library/Safari/History.plist? – Joannes