Как переименовать файл с помощью NSFileManager
У меня есть один файл с именем a.caf в каталоге документов. Я хотел бы переименовать его, когда пользователь вводит в UITextField
и нажимает изменения (текст, введенный в UITextField
, должен быть новым именем файла).
Как я могу это сделать?
Ответы
Ответ 1
Вы можете использовать moveItemAtPath.
NSError * err = NULL;
NSFileManager * fm = [[NSFileManager alloc] init];
BOOL result = [fm moveItemAtPath:@"/tmp/test.tt" toPath:@"/tmp/dstpath.tt" error:&err];
if(!result)
NSLog(@"Error: %@", err);
[fm release];
Ответ 2
Чтобы обновить этот вопрос, я добавляю версию Swift:
let documentDirectory = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! String
let originPath = documentDirectory.stringByAppendingPathComponent("/tmp/a.caf")
let destinationPath = documentDirectory.stringByAppendingPathComponent("/tmp/xyz.caf")
var moveError: NSError?
if !manager.moveItemAtPath(originPath, toPath: destinationPath, error: &moveError) {
println(moveError!.localizedDescription)
}
Ответ 3
Это функция daehan park для преобразования в Swift 3:
func moveFile(pre: String, move: String) -> Bool {
do {
try FileManager.default.moveItem(atPath: pre, toPath: move)
return true
} catch {
return false
}
}
Ответ 4
Работает на Swift 2.2
func moveFile(pre: String, move: String) -> Bool {
do {
try NSFileManager.defaultManager().moveItemAtPath(pre, toPath: move)
return true
} catch {
return false
}
}