Я пытаюсь удалить определенные файлы из каталога с помощью NSFileManager. Я хотел бы игнорировать скрытые файлы .DS_Store и Icon (папка, которую я проверяю, должна иметь собственный значок), которые находятся в каталоге, однако я также продолжаю случайно удалять их. Прямо сейчас я делаю следующее:
NSFileManager *manager = [NSFileManager defaultManager];
NSArray *dirContents = [manager contentsOfDirectoryAtPath:[selectedFolder stringValue] error:nil];
for (int i = 0; i < [dirContents count]; i++)
{
NSString *theFile = [dirContents objectAtIndex:i];
if([theFile isEqualToString:@".DS_Store"] || [theFile isEqualToString:@"Icon?"] || [theFile isEqualToString:@"Icon"])
{
continue;
}
//do manipulations on files here
}
[manager release];
Однако файлы .DS_Store и Icon не совпадают в моем операторе if. Кроме того, когда я показываю скрытые файлы в Finder, файл значка называется «Значок». Однако выполнение ls в этом каталоге в терминале выводит «Значок?».
Как я могу правильно разобрать эти файлы в своем коде?
Спасибо
EDIT: Таким образом, на самом деле он успешно игнорирует файл .DS_Store, но файл Icon по-прежнему проходит мимо оператора if.
NSLog(@"%@", theFile);
сразу после установкиtheFile
, отображаются ли эти имена файлов значков точно так же, как вы тестируете в этомif
? - person   schedule 02.05.2011?
, который вы видите в Терминале, на самом деле не является ASCII-кодом?
. - person jscs   schedule 02.05.2011