Trouver taille du fichier
Dans mon iPhone, j'utilise le code suivant pour rechercher un fichier de taille. Même si le fichier existe, je vois zéro pour la taille. Quelqu'un peut-il m'aider? Merci à l'avance.
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];
- Bizarre, avec votre code, je peux obtenir la taille correctement, quel était le problème?
Vous devez vous connecter pour publier un commentaire.
Essayer ce;
Noter que la taille du fichier ne sera pas nécessairement un nombre entier (notamment signé un), mais il pourrait certainement tomber à un long pour iOS que vous ne serez jamais dépasser que dans la réalité. L'exemple utilise de longs longtemps que dans mon code je dois être compatible avec les systèmes avec beaucoup plus d'espace de stockage disponible.
long long fileSize = [[[NSFileManager defaultManager] attributesOfItemAtPath:path error:nil][NSFileSize] longLongValue]
.unsigned long long fileSize = [[[NSFileManager defaultManager] attributesOfItemAtPath:path error:nil][NSFileSize] unsignedLongLongValue]
parce queNSFileSize
est ununsigned
long long
.unsigned long long size = [[NSFileManager defaultManager] attributesOfItemAtPath:path error:nil].fileSize
[URL path]
Une doublure en Swift:
let fileSize = try (FileManager.default.attributesOfItem(atPath: url.path)[.size] as! NSNumber).uint64Value
oulet fileSize = try (FileManager.default.attributesOfItem(atPath: url.path) as NSDictionary).fileSize()
let fileSize = (try? FileManager.default.attributesOfItem(atPath: url.path))?[.size] as? Int ?? 0
Si vous avez un
URL
(NSURL
, pas unString
), vous pouvez obtenir la taille du fichier sansFileManager
:Swift 4.x
Obtenir la taille du fichier en MO
Essayez Ce code pour swift