iOS - Gestion des fichiers
La gestion des fichiers ne peut pas être expliquée visuellement avec l'application et, par conséquent, les principales méthodes utilisées pour gérer les fichiers sont expliquées ci-dessous. Notez que le bundle d'applications ne dispose que d'une autorisation de lecture et que nous ne pourrons pas modifier les fichiers. Vous pouvez de toute façon modifier le répertoire des documents de votre application.
Méthodes utilisées dans la gestion des fichiers
Les méthodes utilisées pour accessing et manipulatingles fichiers sont décrits ci-dessous. Ici, nous devons remplacer les chaînes FilePath1, FilePath2 et FilePath par nos chemins de fichiers complets requis pour obtenir l'action souhaitée.
Vérifier si un fichier existe sur un chemin
NSFileManager *fileManager = [NSFileManager defaultManager];
//Get documents directory
NSArray *directoryPaths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [directoryPaths objectAtIndex:0];
if ([fileManager fileExistsAtPath:@""]==YES) {
NSLog(@"File exists");
}
Comparaison de deux contenus de fichiers
if ([fileManager contentsEqualAtPath:@"FilePath1" andPath:@" FilePath2"]) {
NSLog(@"Same content");
}
Vérifier si inscriptible, lisible et exécutable
if ([fileManager isWritableFileAtPath:@"FilePath"]) {
NSLog(@"isWritable");
}
if ([fileManager isReadableFileAtPath:@"FilePath"]) {
NSLog(@"isReadable");
}
if ( [fileManager isExecutableFileAtPath:@"FilePath"]) {
NSLog(@"is Executable");
}
Déplacer le fichier
if([fileManager moveItemAtPath:@"FilePath1"
toPath:@"FilePath2" error:NULL]) {
NSLog(@"Moved successfully");
}
Copier un fichier
if ([fileManager copyItemAtPath:@"FilePath1"
toPath:@"FilePath2" error:NULL]) {
NSLog(@"Copied successfully");
}
Effacer le fichier
if ([fileManager removeItemAtPath:@"FilePath" error:NULL]) {
NSLog(@"Removed successfully");
}
Lire le fichier
NSData *data = [fileManager contentsAtPath:@"Path"];
Ecrire un fichier
[fileManager createFileAtPath:@"" contents:data attributes:nil];