如何增加文件名如果文件已经存在?
问题描述:
如果文件已经存在,如何增加文件名?下面是我使用的代码:如何增加文件名如果文件已经存在?
let count: Int = 1
var newFileName = ""
let path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
let url = NSURL(fileURLWithPath: path)
let filePath = url.URLByAppendingPathComponent("MyDoc.pdf").path!
let fileManager = NSFileManager.defaultManager()
if fileManager.fileExistsAtPath(filePath) {
print("FILE AVAILABLE")
newFileName = "MyDoc\(count).pdf"
} else {
print("FILE NOT AVAILABLE")
}
MyDoc.pdf,MyDoc(1).PDF,MyDoc(5).PDF再怎么增加?
答
使用while语句来增加计数器,直到找到不采取一个文件名:
guard var filePath = url.URLByAppendingPathComponent("MyDoc.pdf").path else {
// force-unwrapping is not the answer! Handle error
return
}
let fileManager = NSFileManager.defaultManager()
var counter = 0
while fileManager.fileExistsAtPath(filePath) {
counter += 1
newFileName = "MyDoc(\(counter)).pdf"
let newURL = url.URLByAppendingPathComponent(newFileName)
guard let newPath = newURL.path else {
// Handle error (shouldn't happen anyway)
return
}
path = newPath // Try again...
}
注:我没试过编译这段代码。它可能有一些小错误。
答
在此代码
您每次创建MyDoc1.pdf
如果你想每次新的PDF文件,这样你得到的文件数量(计数)存在于位置和文件的增量数(数)+ 1
+2
这看起来像一个平庸的评论,而不是一个答案。 – GhostCat
有什么样的错误! –
使用'while'语句! –
解释你的问题! –