iOS: manejo de archivos

El manejo de archivos no se puede explicar visualmente con la aplicación y, por lo tanto, los métodos clave que se utilizan para manejar archivos se explican a continuación. Tenga en cuenta que el paquete de la aplicación solo tiene permiso de lectura y no podremos modificar los archivos. De todos modos, puede modificar el directorio de documentos de su aplicación.

Métodos utilizados en el manejo de archivos

Los métodos utilizados para accessing y manipulatinglos archivos se analizan a continuación. Aquí tenemos que reemplazar las cadenas FilePath1, FilePath2 y FilePath por nuestras rutas de archivo completas requeridas para obtener la acción deseada.

Compruebe si existe un archivo en una ruta

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");
}

Comparación del contenido de dos archivos

if ([fileManager contentsEqualAtPath:@"FilePath1" andPath:@" FilePath2"]) {
   NSLog(@"Same content");
}

Compruebe si se puede escribir, leer y ejecutar

if ([fileManager isWritableFileAtPath:@"FilePath"]) {
   NSLog(@"isWritable");
}

if ([fileManager isReadableFileAtPath:@"FilePath"]) {
   NSLog(@"isReadable");
}

if ( [fileManager isExecutableFileAtPath:@"FilePath"]) {
   NSLog(@"is Executable");
}

Mover archivo

if([fileManager moveItemAtPath:@"FilePath1" 
   toPath:@"FilePath2" error:NULL]) {
   NSLog(@"Moved successfully");
}

Copiar archivo

if ([fileManager copyItemAtPath:@"FilePath1" 
   toPath:@"FilePath2"  error:NULL]) {
   NSLog(@"Copied successfully");
}

Remover archivo

if ([fileManager removeItemAtPath:@"FilePath" error:NULL]) {
   NSLog(@"Removed successfully");
}

Leer archivo

NSData *data = [fileManager contentsAtPath:@"Path"];

Escribir archivo

[fileManager createFileAtPath:@"" contents:data attributes:nil];