пʼятницю, 4 квітня 2014 р.

NSFileManager - работа с каталогами и файлами (примеры). Часть 1

Инициализация NSFileManager

Класс NSFileManager содержит метод класса с именем defaultManager, который используется для создания экземпляра класса. Например: получить ссылку на экземпляр объекта NSFileManager:

NSFileManager *fileManager = [NSFileManager defaultManager];

Проверка на наличие или отсутствие файла

Класс NSFileManager содержит метод экземпляра с именем fileExistsAtPath, который проверяет<, существует ли указанный файл. Метод принимает в качестве аргумента объект NSString, содержащий путь к файлу и возвращает логическое ДА или НЕТ, указывающее на наличие или отсутствие этого файла:
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:@"/tmp/myfile.txt"] == YES) {
    NSLog(@"Файл присутствует");
} else {
    NSLog(@"Файл не найден");
}
Сравнение содержимого двух файлов
Содержимое двух файлов можно сравнить на равенство с использованием метода contentsEqualAtPath. Этот метод принимает в качестве аргументов пути к двум файлам, которые будут сопоставлены и возвращает логическое ДА или НЕТ, чтобы указать, соответствует ли содержимое этих файлов:
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([filemgr contentsEqualAtPath:@"/tmp/myfile.txt" andPath:@"/tmp/sales.txt"] == YES) {
    NSLog(@"Содержимое файлов одинаково");
} else {
    NSLog(@"Содержимое файлов разное");
}
Проверка прав файла на чтение/запись/запуск/удаление
Большинство операционных систем обеспечивают определенный уровень контроля доступа к файлу. Самый быстрый способ узнать, может ли Ваше приложение иметь доступ к использованию файла - isReadableFileAtPath, isWritableFileAtPath, isExecutableFileAtPath и метод isDeletableFileAtPath. Каждый метод принимает один аргумент в виде пути к файлу и возвращает логическое ДА или НЕТ. Например, следующий фрагмент кода проверяет есть ли доступ к файлу на запись в него:
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager isWritableFileAtPath:@"/tmp/myfile.txt"] == YES) {
    NSLog(@"Разрешено для записи/редактирования данных");
} else {
    NSLog(@"Только чтение");
}
Перемещение/Удаление файла
Файл может быть переименован (при условии, соответствующих прав) с использованием метода moveItemAtURL. Этот метод возвращает логическое ДА или НЕТ и принимает в качестве аргументов путь для файла, который будет перемещен, путь назначения и дополнительный объект NSError, в который будет помещена информация, описывающая любые ошибки, возникающие в процессе эксплуатации. Если информация по ошибкам не требуется, этот аргумент может быть установлен в NULL. Обратите внимание, что если по такому пути файл уже существует, то эта операция не будет выполнена.
NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *oldPath = [NSURL fileURLWithPath:@"/tmp/myfile.txt"];
NSURL *newPath= [NSURL fileURLWithPath:@"/tmp/newfile.txt"];
[fileManager moveItemAtURL:oldPath toURL:newPath error:nil];
Продолжение в следующей части.

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments