2017-09-06 83 views
0

如果文件已經存在,如何增加文件名?下面是我使用的代碼:如何增加文件名如果文件已經存在?

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再怎麼增加?

+0

有什麼樣的錯誤! –

+0

使用'while'語句! –

+0

解釋你的問題! –

回答

0

使用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... 
} 

注:我沒試過編譯這段代碼。它可能有一些小錯誤。

1
在此代碼

您每次創建MyDoc1.pdf

如果你想每次新的PDF文件,這樣你得到的文件數量(計數)存在於位置和文件的增量數(數)+ 1

+2

這看起來像一個平庸的評論,而不是一個答案。 – GhostCat

相關問題