gpt4 book ai didi

ios - 重命名 DocumentDirectory 中的文件

转载 作者:IT王子 更新时间:2023-10-29 05:11:01 26 4
gpt4 key购买 nike

我的 DocumentDirectory 中有一个 PDF 文件。

我希望用户能够将此 PDF 文件重命名为其他名称(如果他们愿意的话)。

我将有一个 UIButton 来启动这个过程。新名称将来自 UITextField

我该怎么做?我是 Swift 的新手,只找到了关于此的 Objective-C 信息并且很难转换它。

文件位置的示例是:

/var/mobile/Containers/Data/Application/39E030E3-6DA1-45FF-BF93-6068B3BDCE89/Documents/Restaurant.pdf

我有这段代码来查看文件是否存在:

        var name = selectedItem.adjustedName

// Search path for file name specified and assign to variable
let getPDFPath = paths.stringByAppendingPathComponent("\(name).pdf")

let checkValidation = NSFileManager.defaultManager()

// If it exists, delete it, otherwise print error to log
if (checkValidation.fileExistsAtPath(getPDFPath)) {

print("FILE AVAILABLE: \(name).pdf")

} else {

print("FILE NOT AVAILABLE: \(name).pdf")

}

最佳答案

要重命名文件,您可以使用 NSFileManager 的 moveItemAtURL

使用 moveItemAtURL 将文件移动到同一位置但具有两个不同的文件名与“重命名”的操作相同。

简单的例子:

swift 2

do {
let path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
let documentDirectory = NSURL(fileURLWithPath: path)
let originPath = documentDirectory.URLByAppendingPathComponent("currentname.pdf")
let destinationPath = documentDirectory.URLByAppendingPathComponent("newname.pdf")
try NSFileManager.defaultManager().moveItemAtURL(originPath, toURL: destinationPath)
} catch let error as NSError {
print(error)
}

swift 3

do {
let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let documentDirectory = URL(fileURLWithPath: path)
let originPath = documentDirectory.appendingPathComponent("currentname.pdf")
let destinationPath = documentDirectory.appendingPathComponent("newname.pdf")
try FileManager.default.moveItem(at: originPath, to: destinationPath)
} catch {
print(error)
}

关于ios - 重命名 DocumentDirectory 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35158215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com