Скопируйте файл в другой каталог - PullRequest
0 голосов
/ 27 декабря 2011

Допустим, у меня есть файл по пути /documents/recording.caf, и я хочу скопировать его в папку / documents / folder. Как бы я это сделал? Если я хочу использовать следующий код, мне кажется, что я должен включить имя файла и расширение в путь, который я не всегда буду знать.

NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *newPath = [documentsDirectory stringByAppendingPathComponent:@"/temporary/recording.caf"];

if ([fileManager fileExistsAtPath:newPath] == NO) {

    [fileManager copyItemAtPath:file toPath:newPath error:&error];

    }

}

Табличное представление обновляется с каждым файлом, который он находит в каталоге, и если пользователь касается ячейки, я хочу скопировать этот файл в другое место.

1 Ответ

3 голосов
/ 27 декабря 2011

Поскольку добавленный компонент пути также является строкой, вы можете использовать другую, создать другую строку с именем файла, которого вы не знаете

NSString *anotherString=[NSString stringWithFormat:@"/temporary/%@",<yourfilenameAsString>];

, и просто добавить его в newPath.

Я бы также посоветовал вам не создавать пути типа @ "/ временный / filename.extension".Скорее, вы создаете его с использованием методов построения пути NSString, таких как

- (NSString *)stringByAppendingPathComponent:(NSString *)aString
- (NSString *)stringByAppendingPathExtension:(NSString *)ext
...