2010-08-12 3 views
0

J'essaie d'extraire l'attribut de taille de fichier d'un objet NSURL en lui passant la méthode getResourceValue: forKey. Voici le code que je vous écris:Erreur lors de l'utilisation de getResourceValue: méthode forKey dans NSURL

NSURL *samplePath = [[NSURL alloc] initWithString:@"file://localhost/Users/Abhinav/Test/abhi.pdf"]; 
[samplePath getResourceValue:&name forKey:NSURLFileSizeKey error:&error]; 
NSLog(@"Error===%@",error); 
NSLog(@"name===%@",name); 

Mais je reçois l'erreur suivante:

Error Domain=NSPOSIXErrorDomain Code=17 "The operation couldn’t be completed. File exists" 

S'il vous plaît aider.

Répondre

1

Si vous essayez d'obtenir la taille du fichier d'un fichier local, voir NSFileManager

Par exemple, pour obtenir la taille d'un fichier: int size = [[[NSFileManager defaultManager] attributesOfItemAtPath:@"/Users/Abhinav/Test/abhi.pdf" error:NULL] fileSize]; devrait fonctionner (et mis size-0 si le fichier ne existe, ou n'est pas lisible).

+0

Cela a été vraiment utile. – Abhinav

5

De quel type est name dans votre exemple? Vous devriez passer dans l'adresse de la variable où vous voulez que la taille soit stockée:

NSURL *samplePath = [[NSURL alloc initWithString:@"file://localhost/Users/Abhinav/Test/abhi.pdf"]; 
NSNumber *fileSizeBytes; 
[samplePath getResourceValue:&fileSizeBytes forKey:NSURLFileSizeKey error:&error]; 
NSLog(@"Error===%@",error); NSLog(@"size of file in bytes ===%@",fileSizeBytes); 
Questions connexes