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