Нахавандипур Вандад
Шрифт:
/* Создаем каталог по заданному пути */
— (void) createFolder:(NSString *)paramPath{
NSError *error = nil;
if ([self.fileManager createDirectoryAtPath: paramPath
withIntermediateDirectories: YES
attributes: nil
error:&error] == NO){
NSLog(@"Failed to create folder %@. Error = %@",
paramPath,
error);
}
}
/* Создаем пять файлов с расширением. txt в заданном каталоге, называем
их 1.txt, 2.txt и т. д. */
— (void) createFilesInFolder:(NSString *)paramPath{
/* Создаем 10 файлов */
for (NSUInteger counter = 0; counter < 5; counter++){
NSString *fileName = [NSString stringWithFormat:@"%lu.txt",
(unsigned long)counter+1];
NSString *path = [paramPath stringByAppendingPathComponent: fileName];
NSString *fileContents = [NSString stringWithFormat:@"Some text"];
NSError *error = nil;
if ([fileContents writeToFile: path
atomically: YES
encoding: NSUTF8StringEncoding
error:&error] == NO){
NSLog(@"Failed to save file to %@. Error = %@", path, error);
}
}
}
/* Перечисляем все файлы/каталоги, расположенные по заданному пути */
— (void) enumerateFilesInFolder:(NSString *)paramPath{
NSError *error = nil;
NSArray *contents = [self.fileManager contentsOfDirectoryAtPath: paramPath
error:&error];
if ([contents count] > 0 &&
error == nil){
NSLog(@"Contents of path %@ = \n%@", paramPath, contents);
}
else if ([contents count] == 0 &&
error == nil){
NSLog(@"Contents of path %@ is empty!", paramPath);
}
else {
NSLog(@"Failed to enumerate path %@. Error = %@", paramPath, error);
}
}
/* Удаляем все файлы/каталоги по заданному пути */
— (void) deleteFilesInFolder:(NSString *)paramPath{
NSError *error = nil;
NSArray *contents = [self.fileManager contentsOfDirectoryAtPath: paramPath
error:&error];
if (error == nil){
error = nil;
for (NSString *fileName in contents){
/* У нас есть имя файла, но, чтобы удалить этот файл,
нужен полный путь к нему */
NSString *filePath = [paramPath
stringByAppendingPathComponent: fileName];
if ([self.fileManager removeItemAtPath: filePath
error:&error] == NO){
NSLog(@"Failed to remove item at path %@. Error = %@",
fileName,
error);
}
}
} else {
NSLog(@"Failed to enumerate path %@. Error = %@", paramPath, error);
}
}
/* Удаляем каталог, к которому ведет заданный путь*/
— (void) deleteFolder:(NSString *)paramPath{
NSError *error = nil;
if ([self.fileManager removeItemAtPath: paramPath error:&error] == NO){
NSLog(@"Failed to remove path %@. Error = %@", paramPath, error);
}
}
Не забывайте: свойство fileManager, которое мы используем в различных методах делегата нашего приложения, — это свойство самого делегата приложения, определяемое следующим образом: